【发布时间】:2019-11-19 11:01:00
【问题描述】:
将多个键与 1 个值匹配的最简洁方法是什么?例如在 jQuery Validate 我有类似的东西:
$("#myform").validate({
rules: {
firstname: "required",
middlename: "required",
lastname: "required"
},
messages: {
firstname: "Please fill in first name",
middlename: "Please fill in middle name",
lastname: "Please fill in last name"
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.1.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.1/jquery.validate.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.1/additional-methods.js"></script>
<form id="myform">
<div>
<label for="firstname">First Name</label>
<input type="text" id="firstname" name="firstname">
</div>
<div>
<label for="middlename">Middle Name</label>
<input type="text" id="middlename" name="middlename">
</div>
<div>
<label for="lastname">Last Name</label>
<input type="text" id="lastname" name="lastname">
</div>
<input type="submit" value="Search">
</form>
这很好,但我觉得重复firstname: "required"、middlename: "required"、lastname: "required" 是没有必要的,我怎样才能有多个匹配相同值的键可能像这样?
var names = {firstname, middlename, lastname};
$("#myform").validate({
rules: {
names: "required"
},
messages: {
firstname: "Please fill in first name",
middlename: "Please fill in middle name",
lastname: "Please fill in last name"
}
});
我知道我可以使用 for 循环,但我正在寻找最简洁的方式。
【问题讨论】:
标签: javascript jquery jquery-validate