javascript - 切换 HTML/JQuery 验证
问题描述
我有一个 MVC 应用程序。我需要按模型值切换输入验证。当复选框被选中时,字段电子邮件必须与我自己的验证消息一起使用,否则不需要。
输入:
<input type="checkbox"
name="@Html.NameFor(a=> a.CreatePersonAsUser)"
id="@Html.IdFor(a=> a.CreatePersonAsUser)"
value="@Html.ValueFor(a=>a.CreatePersonAsUser)"
onchange="createUserRightChange(this)" />
<script type="text/javascript">
function createUserRightChange(cbx) {
var isChecked = $(cbx).is(':checked');
var emailElement = $('#@Html.IdFor(a => a.Email)');
if (isChecked) {
emailElement.attr('required', 'required');
emailElement.on('oninput', $(emailElement)[0].setCustomValidity(''));
emailElement.on('oninvalid', $(emailElement)[0].setCustomValidity('My validation message'));
} else {
emailElement.removeAttr('required');
emailElement.off('oninput');
emailElement.off('oninvalid');
}
}
$(document).ready(function () {
createUserRightChange($('#@Html.IdFor(a => a.CreatePersonAsUser)'));
});
</script>
开头是未选中的复选框。当我检查复选框字段验证效果很好。当我改变主意并取消选中复选框时,验证仍然有效。
我不知道如何更改验证。
当然,我在服务器站点上验证模型,但我想在客户端站点上进行正确的验证。
是否可以通过 Javascript 或 JQuery 关闭客户端验证?
感谢您的建议和帮助。
解决方案
推荐阅读
- c# - 为什么 WebExceptionStatus.Timeout 没有捕获到超时错误?
- kubernetes - 如何在 Kafka 代理上添加 HAproxy
- json - 如何从其网络面板下载此页面评论的 JSON 文件?
- python-3.x - 在 Python 中创建新列并填充布尔值
- python - Python Post 请求到 API
- ios - 将应用程序上传到 iTunes 时出现错误。错误 ITMS-90046:“无效的代码签名权利”。
- c# - 具有 C#8 默认接口实现/特征的事件继承
- python - pyGAM`y 数据不在 logit 链接函数的域中`
- java - Apache Flink连接elasticsearch的问题
- c - Allocating dynamic memory for a variable inside a structure