Вот мои строки кода:Пользовательские проверки не срабатывает
Для Textbox
и CustomValidator
:
<asp:TextBox ID="Edit_Tbox_Email" runat="server" placeholder="Email Address..." CausesValidation="true" ValidationGroup="submission"></asp:TextBox>
<asp:CustomValidator runat="server" ControlToValidate="Edit_Tbox_Email" ID="cv_Email" OnServerValidate="cv_Email_ServerValidate" ErrorMessage="!" data-toggle="tooltip" title="Invalid Input!" ValidationGroup="submission"></asp:CustomValidator>
Это для Button
, чтобы позволить пользователю изменить его/ее электронной почты:
<asp:Button ID="Edit_But_Email" runat="server" Text="Change" CssClass="btn btn-small" OnClick="Edit_But_Email_Click" ValidationGroup="submission" CausesValidation="true"/>
На стороне сервера:
protected void Edit_But_Email_Click(object sender, EventArgs e)
{
if(Page.IsValid)
Edit_Lab_Email.Text = Edit_Tbox_Email.Text;
}
protected void cv_Email_ServerValidate(object source, ServerValidateEventArgs args)
{
string emailRegex = "^\\w+[\\w-\\.]*\\@\\w+((-\\w+)|(\\w*))\\.[a-z]{2,3}$";
if (Edit_Tbox_Email.Text.Length == 0 || Regex.IsMatch(Edit_Tbox_Email.Text, emailRegex))
{
cv_Email.IsValid = false;
}
}
Но проблема в том, что cv_Email_ServerValidate()
даже не срабатывает. В принципе, он не подтверждает Textbox
. Кроме того, я не хочу использовать RequiredFieldValidator
и RegularExpressionValidator
. Я хочу объединить их функциональные возможности только в один валидатор. И насколько это возможно, я хотел бы использовать только код (C#), а не jQuery. Спасибо!
На самом деле у меня уже есть 'ValidationGroup' для всех из них, но до сих пор не повезло. Я, вероятно, скопировал неправильный код. Простите за это. –
Я только что редактировал мой ответ. –
Два часа ничего, пока вы не пришли! Спасибо чувак! –