我有一个收集电子邮件地址的页面,在提交表单后,我会看到该电子邮件是否存在。如果是,则用户无法创建实体。我没有显示正常的验证错误状态消息,而是希望显示一个很好的段落来解释几个链接的情况。
我尝试创建段落并用.visible = false或display:none隐藏它,然后在传递给AddTopValidationMethod的方法中使其可见。这不起作用。
我知道我可以拥有HTML状态消息但是1)我认为这不会那么好2)我无法使用EwfLink构建我的链接 - 我必须手写一个锚点标签
这里最好的解决方案是什么?
答案 0 :(得分:3)
试试这个:
// Add the form item to the page.
var validationFailed = false;
myPanel.AddControlsReturnThis( myMod.GetEmailAddressTextFormItem( false, validationErrorNotifier: () => validationFailed = true, validationList: myPostBack ).ToControl() );
// Add the email-address-exists error placeholder to the page.
myPanel.AddControlsReturnThis(
new ModificationErrorPlaceholder(
new Validation(
( pbv, validator ) => {
if( validationFailed )
return;
if( emailAddressExists( myMod.EmailAddress ) )
validator.NoteErrorAndAddMessage( "The user will never see this." );
},
myPostBack ),
errors => {
if( !errors.Any() )
return Enumerable.Empty<Control>();
// Use any controls you want here!
var link = EwfLink.Create( MyDestinationPage.GetInfo(), new TextActionControlStyle( "has a link" ) );
return new Paragraph( new Control[] { "This sentence ".GetLiteralControl(), link, " in it.".GetLiteralControl() } ).ToSingleElementArray();
} ) );
如果您希望您的解释性段落 电子邮件地址表单项,请将其验证添加到BasicValidationList
,您可以在&#后添加到回发后的对象中39; ve创建了表单项。