[英]Call custom validator from control which is not the controlToValidate
[英]Problem when attaching a Custom Validator to a control dynamicly
任何人都知道為什么此代碼不起作用?
<script type="text/javascript">
function BookDeskValidation(source, arguments) {
var deskCombo = $find("<%=RadComboBoxDesk.ClientID%>");
var bookCombo = $find("<%=RadComboBoxBook.ClientID%>");
if (bookCombo.get_text() != "" && deskCombo.get_text() == "") {
arguments.IsValid = false;
}
else {
arguments.IsValid = true;
}
}
function AttachValidator(combobox) {
var validator = document.getElementById("<%= CustomValidatorDeskBook.ClientID %>");
validator.controltovalidate = combobox.get_id();
validator.ClientValidationFunction = "BookDeskValidation";
ValidatorHookupControl(combobox, validator);
}
</script>
<td>Book: </td>
<td>
<telerik:RadComboBox ID="RadComboBoxBook" runat="server" OnClientFocus="AttachValidator">
</telerik:RadComboBox>
</td>
<td width="70">Desk: </td>
<td width="100">
<telerik:RadComboBox ID="RadComboBoxDesk" runat="server" OnClientFocus="AttachValidator">
</telerik:RadComboBox>
</td>
<asp:CustomValidator ID="CustomValidatorDeskBook" runat="server"
ErrorMessage="Error"
ClientValidationFunction="BookDeskValidation" ForeColor="Red">*</asp:CustomValidator>
OnClientFocus着火了,但是自定義驗證器似乎沒有被附加,因為當我退出應附加驗證器的控件時,沒有進行任何驗證。
謝謝!
好的,我設法完成了這項工作。 這是我所做的。 如果有人知道更好的方法,或者我為解決問題所做的事情不正確,請告訴我!
所以這就是我所做的:
<script type="text/javascript">
function BookDeskValidation(source, arguments) {
var deskCombo = $find("<%=RadComboBoxDesk.ClientID%>");
var bookCombo = $find("<%=RadComboBoxBook.ClientID%>");
if (bookCombo.get_text() != "" && deskCombo.get_text() == "") {
arguments.IsValid = false;
}
else {
arguments.IsValid = true;
}
}
function AttachValidator(combobox) {
var validator = document.getElementById("<%= CustomValidatorDeskBook.ClientID %>");
validator.ControlToValidate = combobox.get_id();
}
function EnableValidator(combobox) {
var validator = document.getElementById("<%= CustomValidatorDeskBook.ClientID %>");
ValidatorEnable(validator, true);
}
</script>
<td>Book: </td>
<td>
<telerik:RadComboBox ID="RadComboBoxBook" runat="server" OnClientFocus="AttachValidator" OnClientDropDownClosed="EnableValidator">
</telerik:RadComboBox>
</td>
所以基本上我擺脫了ValidatorHookupControl函數,並在事件OnClientDropDownClosed上將其替換為ValidatorEnable
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.