【问题标题】:jquery form validation for any select value任何选择值的jQuery表单验证
【发布时间】:2013-05-17 07:35:00
【问题描述】:

我正在使用 jQuery 验证插件,它适用于所有字段 但是,当我将它用于select 时,它不起作用

HTML

<form>
    <select id="name" name="name">
        <option>Select</option>
        <option value='select'>Select</option>
        <option value='abc'>ABC</option>
        <option value='xyz'>XYZ</option>    
    </select>
    <input type='submit' value='Submit' />
</form>

脚本

var f=$("form").validate({
    rules: {
        name:{
            required:
                 function(element) {
                     st=($(element).val() == '') || ($(element).val() == 'select');
                     return st;
                }
        }
    },
    messages: {
        name: {required: "Please select name"}
});

另外,验证后我想stop submition,不管表单是valid还是not

注意我不想使用$.validator.addMethod

我已经搜索过了

  1. jQuery select box validation
  2. jQuery validate select box
  3. http://www.coldfusionjedi.com/demos/jqueryvalidation/test4.html

【问题讨论】:

  • @Zenith &lt;option&gt;Select&lt;/option&gt; 是默认的empty,不是吗?
  • 你是对的 :) 你不能只使用 return false 来停止提交吗?

标签: jquery validation


【解决方案1】:
if($("#name :selected").val() == '') 
    return false;

【讨论】:

    【解决方案2】:

    我要说这是一个让简单的错误检查稍微复杂化的插件!再说一次,我在Developer's Github Demo page 上发现了你试图做的同样的事情。

    小提琴:http://jsfiddle.net/hAWR3/14/

    <script>
        $("#formsubmission").submit(function(event){ 
    
            /** Cache Result **/
            var tmp = $('#selectname').val();
            console.log( "Selected Name: " + tmp );
    
            if ( tmp == 'select' || tmp == 'Select' ) {
    
                /** Prevent the submission **/
                event.preventDefault();
                console.log( 'Unvalidated!' ); 
    
            } else {
    
                /** Submit as normal!! **/
                console.log( 'Validated!' );   
            }
    
        });
    </script>
    
    <form method="post" id="formsubmission">
        <select id="selectname" name="name">
            <option>Select</option>
            <option value='select'>Select</option>
            <option value='abc'>ABC</option>
            <option value='xyz'>XYZ</option>    
        </select>
        <input type='submit' value='Submit' />
    </form>
    

    注意:如果您的 html 示例中的 like 中没有值,则它采用 &lt;option&gt;&lt;/option&gt;'s 中的封装值!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-22
      • 1970-01-01
      • 2011-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多