[英]Rails 5 - jQuery validate on form.select only works after submitting
我有一个需要验证的下拉列表,但它的行为不像我期望的那样。
# app/views/forms/_form.html.erb
<%= form.select :environment, [ 'Production', 'Staging', 'Test' ],
{ prompt: 'Select an Environment' }, { required: true } %>
# app/assets/javascripts/forms.js
$('form#new_form').validate({
validClass: "valid",
errorClass: "invalid",
rules: {
'form[environment]': { required: true },
}
});
重现步骤:
valid
类被添加到下拉列表中invalid
类不被添加到下拉。 当我提交表单并注意错误时,上述步骤仅按预期工作。 然后,当我重复步骤 1-5 时,当我选择一个选项(生产、暂存或测试)时会添加valid
类,而当我选择提示选择环境时会添加invalid
类
根据文档( https://jqueryvalidation.org/documentation/ ),它的行为符合预期。
在字段被标记为无效之前,验证是惰性的:在第一次提交表单之前,用户可以浏览字段而不会收到烦人的消息——他们不会在有机会实际输入正确值之前被窃听
一旦一个字段被标记为无效,它就会被急切地验证:一旦用户输入了必要的值,错误消息就会被删除
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.