我正在尝试使用regex类进行验证,并在按下提交按钮时创建自定义的RegularExceptionValidator。 正则表达式和正则表达式工作正常。 我的问题是验证器没有出现在我的页面中:
RegularExpressionValidator revTel = new RegularExpressionValidator();
revTel.ErrorMessage = "Le format Tel: ";
revTel.IsValid = false;
revTel.ValidationGroup = txtPhone.ValidationGroup;
Validators.Add(revTel);
revTel.Visible = true;
更新 谢谢你的回答。 错过的代码是:
revPhone.ControlToValidate = "txtPhone";
我忘记将一个Control to Validate分配给验证器。
更新: 我错了:/!
答案 0 :(得分:0)
在上面的代码中添加以下代码行,希望这可行
Page.Controls.Add(revTel);
答案 1 :(得分:0)
您致电Validators.Add(revTel)
。可能它应该作为儿童控制添加:
divValidationControls.Controls.Add(revTel);
答案 2 :(得分:0)
if (e.Exception.InnerException is OptimisticConcurrencyException)
{
var concurrencyExceptionValidator = new CustomValidator();
concurrencyExceptionValidator.IsValid = false;
concurrencyExceptionValidator.ErrorMessage =
"L'enregistrement que vous essayez de mettre à jour a été " +
"modifié par un autre utilisateur après que vous l'avez récupéré. " +
"Les nouvelles valeurs sont affichées.";
concurrencyExceptionValidator.Visible = true;
concurrencyExceptionValidator.Enabled = true;
concurrencyExceptionValidator.Display = ValidatorDisplay.Dynamic;
Page.Validators.Add(concurrencyExceptionValidator);
concurrencyExceptionValidator.Attributes.Add("runat", "server");
//Page.Controls.Add(concurrencyExceptionValidator);
e.ExceptionHandled = true;
}
我添加了一个占位符。