Cuando uso el enmascaramiento en el cuadro de texto, debo ingresar un guión en formato de tarjeta de crédito. Pero como solo revisé los números, supongo que la validación no acepta guiones. Gracias por tu ayuda.
<script> function fn_AllowonlyNumeric(s, e) { var theEvent = e.htmlEvent || window.event; var key = theEvent.keyCode || theEvent.which; key = String.fromCharCode(key); var regex = /[0-9]/; if (!regex.test(key)) { theEvent.returnValue = false; if (theEvent.preventDefault) theEvent.preventDefault(); } } </script> <dx:BootstrapTextBox AutoPostBack="true" AutoCompleteType="Disabled" ClientInstanceName="ttxtSozNo" ID="KartNumarasi" MaxLength="19" runat="server" CssClasses-Input="form-control valid" aria-invalid="false" OnTextChanged="KartNumarasi_TextChanged" > <ClientSideEvents KeyPress="function(s,e){ fn_AllowonlyNumeric(s,e);}" /> <CssClasses Input="form-control valid" /> <ValidationSettings ErrorText="" RequiredField-IsRequired="True" SetFocusOnError="True" RegularExpression-ValidationExpression="^[a-zA-Z0-9'@&#.\s]{6,16}$"> <RegularExpression ErrorText="" /> <RequiredField ErrorText="" IsRequired="True" /> </ValidationSettings> <MaskSettings Mask="0000-0000-0000-0000" /> </dx:BootstrapTextBox>Creo que no necesita el código/controlador de validación de javascript del lado del cliente, que contradice la configuración de la máscara declarativa, en absoluto:
<dx:BootstrapTextBox ...> <%--<ClientSideEvents KeyPress="function(s,e){ fn_AllowonlyNumeric(s,e);}" />--%> ... <MaskSettings Mask="0000-0000-0000-0000" /> </dx:BootstrapTextBox>Consulte la muestra relacionada para ver cómo funciona.