可选字段和下拉框的jQuery番茄酱验证规则

时间:2013-04-04 06:58:09

标签: javascript jquery validation

我正在使用jQuery Ketch-up插件来验证我的表单。

  1. 我需要验证一个下拉框,例如:如果用户选择下拉选项'select',它应该触发错误,说'请选择语言'。

  2. 验证电子邮件字段,但该电子邮件字段不是必填字段。

  3. 我尝试根据文档使用以下代码验证下拉框。但它说'jq.ketchup未定义'

    //Drop down validation
    var jq = $.noConflict();
    
    jq.ketchup.validation('validateSelect', 'Please select the language', function(form, el, value) 
    {
          if(this.contains(value.toLowerCase(), 'select')) 
          {
            return false;
          } 
          else 
          {
            return true;
          }
    });
    

    对于我的第二个问题,该文档没有任何帮助。

1 个答案:

答案 0 :(得分:1)

jquery-ketchup插件适用于text和textarea输入。要在select上应用验证,请使用select输入的id 示例:

选择输入:

html代码:

= f.input :type, :prompt => "Select  type",  :collection => (some_collection), input_html: { id: "list_select" }

js code:

$.ketchup.validation('lselect', 'You have not selected type!', function(form, el, value) {
    return value.length == 0 ? false : true
});

$("#form_id").ketchup({},{
    '#list_select'       : 'lselect'
});

要仅在用户输入任何值而不是必填字段时验证电子邮件,您需要覆盖插件提供的验证,如下所示:

$.ketchup.validation('email', 'Must be a valid E-Mail.', function(form, el, value) {
    return ($.trim(value).length > 0) ? this.isEmail(value) : true
});