我正在使用jQuery Ketch-up插件来验证我的表单。
我需要验证一个下拉框,例如:如果用户选择下拉选项'select',它应该触发错误,说'请选择语言'。
验证电子邮件字段,但该电子邮件字段不是必填字段。
我尝试根据文档使用以下代码验证下拉框。但它说'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;
}
});
对于我的第二个问题,该文档没有任何帮助。
答案 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
});