簡體   English   中英

jquery.validate驗證禁用字段

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM