javascript - jQuery 验证依赖表达式

标签 javascript jquery forms jquery-validate

我正在尝试设置 jQuery 验证 dependency-expression因此用户需要使用文本字段或上传文件,但此代码不起作用:两个字段始终是必需的。我猜<input type="file"> #id:empty 不支持,但是我可以用什么来代替它呢?

Here's a jsFiddle.

Javascript:

jQuery(document).ready(function() {
    jQuery("#form1iienom").validate({
        errorClass:"errorlabels",
        rules: {
            form1apptext: {
                required: "#form1upload:empty"
            },
            form1upload: {
                required: "#form1apptext:empty",
                extension: "jpg|jpeg|pdf|png|doc|docx"
            },
        },
        messages: {
            form1apptext: "You must either enter a reason for your nomination or upload a file.",
            form1upload: {
                required: "You must either enter a reason for your nomination or upload a file.",
            },
        }
    });
});

HTML:

<form name="form1iienom" id="form1iienom" method="post" action="/applications/iie/review" enctype="multipart/form-data">
<textarea name="form1apptext" id="form1apptext"></textarea><br />
<br />
<em>(allowed file types are jpg, jpeg, pdf, png, doc, and docx; maximum file size is 3 MB)</em>
<input type="hidden" name="MAX_FILE_SIZE" value="3145728" />
<input type="file" name="form1upload" id="form1upload" /><br />
<input type="submit" value="Submit" />
</form>

最佳答案

As per documentation ,正确的选择器是 :blank,而不是 :empty

还有see the example, as per documentation ,使用depends子规则...

rules: {
    contact: {
        required: true,
        email: {
            depends: function(element) {
                return $("#contactform_email:checked")
            }
        }
    }
}

关于javascript - jQuery 验证依赖表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15794507/

相关文章:

javascript - 使用 JS SDK 时,Parse 应用程序 ID 如何保持安全?

javascript - 防止 Javascript 重新排序 JSON

javascript - 在两个 JS 文件之间共享代码

javascript - jQuery - 更改与其他 div 共享其类的一个 div 的 CSS

php - 根据尺寸更改价格并显示尺寸

forms - 如何在 Grails 表单中获取多个相同的对象值

javascript - 更改 C3.js 中图表的源 URL

javascript - 通过 ListView 的 ItemInvoked 事件以编程方式设置输入框的焦点 [Windows 8 Metro HTML5]

javascript - 使用 jQuery 的编程挑战

带有验证错误的 Angular6 Material 自定义表单字段控件(mat-error)