如何使第一对字段成为必填字段,其余字段不需要
How to make first pair of fields required, and rest not required
尝试构建一个函数,其中至少需要一对字段对 s_AAA/s_BBB 才能提交表单。用户有机会提交最多 5 个 s_AAA/s_BBB 组合。将此视为您最多可以推荐五个朋友的表格,但必须至少提交 1 个才能提交表格。
感谢任何帮助!
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js"></script>
<script type="text/javascript">
(function ($, W, D) {
var SIGNUPVALIDATION = {};
SIGNUPVALIDATION.UTIL = {
setupFormValidation: function () {
//form validation rules
$("#friend_req").validate({
rules: {
s_referee_email: "required",
s_referee_fname: "required",
},
messages: {
s_referee_email: "Please enter at least one friend's email address",
s_referee_fname: "Please enter your friends first name",
},
submitHandler: function (form) {
form.submit();
}
});
}
}
//when the DOM has loaded setup form validation rules
$(D).ready(function ($) {
SIGNUPVALIDATION.UTIL.setupFormValidation();
});
})(jQuery, window, document);
</script>
除非您特别希望在 javascript 中执行此操作,否则您只需将 required
添加到 HTML5 表格即可。例如:
<input type="text" name="usrname" required>
然后问题变成了 Safari - 如果必填字段留空,它不会提交表单 - 但也不会向用户呈现错误。您的用户将坐在那里不知道为什么表单不会提交。在这种情况下,您可以使用一些 JS 来做到这一点。您可能会问为什么不直接在 JS 中执行并跳过 HTML 验证?好吧,我想这是个人决定,但我喜欢使用组合方法只是因为我喜欢 HTML 验证在其他浏览器中为您提供的小弹出窗口。
如果您打算在 JS 中执行此操作,您将创建一个函数来获取您想要验证的输入,如下所示:
nameInput = document.querySelector("#name").value
从那里你可以检查输入是否有长度,如果你想确保它满足特定的最小字符数,或者你可以使用 .test()
检查它是否有值像这样的东西:
/^[a-zA-Z]+/.test(nameInput)
从那里开始,如果是,则继续提交,如果不是,则向用户发出错误消息:
*assuming you have a div with a class of "error", if not you could create one dynamically
else {
error.innerHTML = "You must provide a name.";
}
尝试构建一个函数,其中至少需要一对字段对 s_AAA/s_BBB 才能提交表单。用户有机会提交最多 5 个 s_AAA/s_BBB 组合。将此视为您最多可以推荐五个朋友的表格,但必须至少提交 1 个才能提交表格。
感谢任何帮助!
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js"></script>
<script type="text/javascript">
(function ($, W, D) {
var SIGNUPVALIDATION = {};
SIGNUPVALIDATION.UTIL = {
setupFormValidation: function () {
//form validation rules
$("#friend_req").validate({
rules: {
s_referee_email: "required",
s_referee_fname: "required",
},
messages: {
s_referee_email: "Please enter at least one friend's email address",
s_referee_fname: "Please enter your friends first name",
},
submitHandler: function (form) {
form.submit();
}
});
}
}
//when the DOM has loaded setup form validation rules
$(D).ready(function ($) {
SIGNUPVALIDATION.UTIL.setupFormValidation();
});
})(jQuery, window, document);
</script>
除非您特别希望在 javascript 中执行此操作,否则您只需将 required
添加到 HTML5 表格即可。例如:
<input type="text" name="usrname" required>
然后问题变成了 Safari - 如果必填字段留空,它不会提交表单 - 但也不会向用户呈现错误。您的用户将坐在那里不知道为什么表单不会提交。在这种情况下,您可以使用一些 JS 来做到这一点。您可能会问为什么不直接在 JS 中执行并跳过 HTML 验证?好吧,我想这是个人决定,但我喜欢使用组合方法只是因为我喜欢 HTML 验证在其他浏览器中为您提供的小弹出窗口。
如果您打算在 JS 中执行此操作,您将创建一个函数来获取您想要验证的输入,如下所示:
nameInput = document.querySelector("#name").value
从那里你可以检查输入是否有长度,如果你想确保它满足特定的最小字符数,或者你可以使用 .test()
检查它是否有值像这样的东西:
/^[a-zA-Z]+/.test(nameInput)
从那里开始,如果是,则继续提交,如果不是,则向用户发出错误消息:
*assuming you have a div with a class of "error", if not you could create one dynamically
else {
error.innerHTML = "You must provide a name.";
}