1

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

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

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

我尝试根据文档使用以下代码验证下拉框。但它说'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;
      }
});

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

4

1 回答 1

1

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

选择输入:

html代码:

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

js代码:

$.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
});
于 2013-11-10T13:39:41.403 回答