![](/img/trans.png)
[英]jQuery.validate validating fields immediately instead of on submit?
[英]jquery.validate validating disabled field
我在一個表單中有一個下拉列表,它控制使用jQuery的.show()和.hide()在表單上啟用/禁用哪些字段。 在我的jquery.validate規則中,我有所需的所有字段。
這就是我的jquery.validate規則
$("#new_course").validate({
ignore: ":disabled",
rules: {
"course_init_on": {required: true},
"mins_before": {required: true},
.....
使用上面的代碼,它仍然可以驗證隱藏的字段並阻止表單提交。
我可以看到你添加了忽略“:disabled”,它不同於“:hidden”
我認為你應該使用:
$("#new_course").validate({
ignore: ":hidden",
...
在validate.js中沒有檢查Disabled(硬編碼):
elements: function() {
var validator = this,
rulesCache = {};
// select all valid inputs inside the form (no submit or reset buttons)
return $(this.currentForm)
.find("input, select, textarea")
.not(":submit, :reset, :image, [disabled]");
}
您必須使用readonly
屬性
如果您確實要禁用表單元素(您可能應該將瀏覽器發布該數據),請使用以下命令:
$("#elm").attr("disabled", "disabled");
然后上面的代碼將完美地工作,你不會將不必要的數據發布到服務器:)
嘗試:
$("#new_course").validate({
ignore: ":hidden",
rules: {
"course_init_on": {required: true},
"mins_before": {required: true},
.....
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.