javascript - 如何在 RadListView 中使用 CustomValidator 验证 CheckBox
问题描述
我有一个Telerik:RadListView
控件和多个复选框。我需要在提交表单之前验证这些复选框。我已经尝试过带有属性的内置验证器,ControlToValidate
但它给了我一个Control 'chkQuestion' referenced by the ControlToValidate property of 'chkQuestionValidator' cannot be validated.
非常合乎逻辑的错误,因为它们都在RadListView
.
之后,我创建了一个 CustomValidator;
<asp:CheckBox ID="chkQuestion"
CssClass="AcceptedAgreement"
Visible="true"
runat="server"
Text=" I confirm"
AutoPostBack="false" />
<asp:CustomValidator
ClientValidationFunction="CheckBoxRequired_ClientValidate"
EnableClientScript="true"
ID="chkQuestionValidator"
runat="server"
Enabled="true"
SetFocusOnError="true"
ErrorMessage="Please confirm"
ForeColor="Red" />
这些都Telerik:RadListView
意味着我有多个,但我无法在我的客户端自定义验证器函数中链接它们。
这是我的验证器功能:
function CheckBoxRequired_ClientValidate(sender, e) {
var c = jQuery(".AcceptedAgreement input:checkbox");
var chb = validator
if (c.is(':checked')) {
e.IsValid = true;
} else {
e.IsValid = false;
}
}
但是使用此功能,我无法单独验证它们。当检查了一个复选框时,此功能与所有这些功能都被检查。这是因为它们都有相同的 css 类,这就是我坚持的重点。
如果你帮助我,将不胜感激。
解决方案
对于那些来这里寻求解决方案的人,这里是:
function handleSubmitForm(sender, args) {
var c = jQuery(".AcceptedAgreement input:checkbox");
c.each(function (index) {
if (!c[index].checked) {
args.set_cancel(true);
}
});
args.set_cancel(true);
}
基本上我将这段代码分配给我的按钮,在回发之前调用它,如果它不符合我的条件,它会停止回发。你可以在 if 子句中做任何你想做的事情。
你可以调用这个函数:
<telerik:RadButton ID="btnSubmit"
OnClientClicking="handleSubmitForm"
Text="Submit" OnClick="btnSubmit_Click" />
推荐阅读
- facebook-graph-api - Facebook Page Webhook 停止工作。它从过去 1 年开始工作
- php - php 生成指向所有 wordpress 类别的链接
- jquery - ajax调用后上下文菜单不起作用
- c# - 安全地访问和解析字典中的布尔值
- c# - 一段时间后在 RabbitMQ 中出现 OutOfMemory
- elasticsearch - 为什么我需要在弹性搜索中缩小索引
- python-3.x - Tensorflow 数据集 API:梯度为“无”?
- mysql - 总结相似的正负值行以在 MySQL 中输出干净的结果
- haskell - 关联类型族抱怨 `pred :: T a -> Bool` 带有“NB:'T' 是一个类型函数,并且可能不是单射的”
- api - 货币的 BigCommerce v3 API 端点