RegularExceptionValidator通过代码创建
本文关键字:创建 代码 RegularExceptionValidator | 更新日期: 2023-09-27 18:04:49
我正在尝试使用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";
我忘记给验证器分配一个要验证的控件。
更新:我错了:/!
在上面的代码中添加下一行,希望这能在中工作
Page.Controls.Add(revTel);
您调用了Validators.Add(revTel)
。可能应该添加为子控件:
divValidationControls.Controls.Add(revTel);
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");
PlaceHolder1.Controls.Add(concurrentyExceptionValidator(
//Page.Controls.Add(concurrencyExceptionValidator);
e.ExceptionHandled = true;
}
我添加了一个占位符。