0
전화 번호를 저장하고 모바일 공급자를 나열하는 드롭 다운 목록이있는 텍스트 상자가 있습니다. 둘 다 선택되었는지 확인하려고합니다. 유효성 검사 그룹을 사용하여 클라이언트 유효성 검사와 함께 고객 유효성 검사기를 사용합니다. 동일한 유효성 검증 그룹이 "갱신"단추에 지정됩니다.클라이언트 측 사용자 지정 유효성 검사
전화 번호와 모바일 제공 업체를 추가하거나 그 반대의 경우는 컨트롤의 포커스가 사라지 자마자 오류 메시지가 표시됩니다. 그러나 "업데이트"버튼을 클릭하면 오류가 표시되지 않고 업데이트가 행복하게 업데이트됩니다. 내가 뭘 잘못하고 있는지 알 수가 없어. 텍스트 상자 나 드롭 다운에는 자동 저장 설정이 없습니다.
function ValidateMobile(oSrc, args) {
var tbMobile = document.getElementById('<%=tbMobile.ClientID%>');
var ddlMobileProvider = document.getElementById('<%=ddlMobileProvider.ClientID%>');
args.IsValid = true;
var mobileNum = tbMobile.value.trim();
var selectedCarrierValue = ddlMobileProvider.options[ddlMobileProvider.selectedIndex].value;
if ((mobileNum != "" && selectedCarrierValue == "") || (mobileNum == "" && selectedCarrierValue != ""))
args.IsValid = false;
}
<asp:TextBox runat="server" ID="tbMobile" CssClass="NormalSmall" Width="95%" />
<ajaxToolkit:MaskedEditExtender runat="server" ID="mtbMobile" TargetControlID="tbMobile" Mask="(999) 999-9999" />
<asp:DropDownList runat="server" ID="ddlMobileProvider" Width="95%" DataSourceID="odsMobileProviders" DataTextField="CARRIERNAME" DataValueField="MOBILECARRIERID" AppendDataBoundItems="true">
<asp:ListItem Text="Select Mobile Provider ..." Value="" />
</asp:DropDownList>
<asp:ImageButton runat="server" ID="ibUpdate" ImageUrl="~/assets/images/buttons/Update.png" OnClick="ibUpdate_Click" CausesValidation="true" ValidationGroup="vgCustInfo" />
<asp:CustomValidator runat="server" ID="cvMobile" ControlToValidate="tbMobile" Display="Dynamic" ValidationGroup="vgCustInfo" ClientValidationFunction="ValidateMobile" ErrorMessage="Both Carrier and Mobile Number must be specified"></asp:CustomValidator>
어떻게 내 원래의 기능과 다르다? – NoBullMan
기능이 정확하지만 해당 기능을 호출하는 것이 잘못되었습니다. 함수 호출 onclientclick = "return Functionname()". 그게 제대로 작동 –