Проверка на стороне клиента работает нормально. Я отключил клиентскую сторону, чтобы убедиться, что она также работает на стороне сервера, но не работает. Компилятор достигает «SaveData», даже если входной текст недействителен. Нет панелей обновлений. Как я могу это решить.Проверка на стороне сервера не работает - ASP.NET
ASPX:
<asp:TextBox ID="txtDept" runat="server" pattern="[a-z A-Z]*"></asp:TextBox>
<asp:RegularExpressionValidator
ID="revDept"
runat="server"
ValidationExpression="^[a-zA-Z\s]{1,50}$"
ControlToValidate="txtDept"
Display="Dynamic"
ErrorMessage="Only alphabets and spaces are allowed."
EnableClientScript="false">
</asp:RegularExpressionValidator>
C#:
protected void btnSubmit_Click(object sender, EventArgs e)
{
if (Page.IsValid)
{
SaveData();
}
}
Явно вызываю страницу. Validate() на стороне сервера. –
Refer: http://stackoverflow.com/questions/13762467/how-does-page-isvalid-work?answertab=votes#tab-top –
Также попробуйте удалить шаблон из текстового поля. Вы можете столкнуться с конфликтом шаблонов с обоими (и они не эквивалентны) –