我正在通过转发器创建输入,并在提交后,在控制台中显示验证错误,但错误消息未显示在
中中继器:
<div class="form-group">
<label>
<dot:Literal Text="{value: Common.Phone}" />
</label>
<div class="phone input-group">
<div class="phone__predvolba">
<bp:DropDownList DataSource="{value: _parent.PhoneCodes}"
SelectedValue="{value: PhoneCode }"
Validation.Enabled="false"
class="admin-control admin-dropdown" />
</div>
<div class="phone__cislo">
<dot:TextBox Text="{value: PhoneNumber}" Type="Telephone" class="admin-control" />
</div>
</div>
</div>
<div class="position-relative text-danger">
<dot:Validator Value="{value: PhoneNumber}"
ShowErrorMessageText="true" />
</div>
</ItemTemplate>
DTO:
public class EmailBaseDTO : IEntity<int>, IValidatableObject
{
public int Id { get; set; }
[Required(ErrorMessageResourceName = nameof(Common.Resources.Admin.Common.Email_RequiredValidation),
ErrorMessageResourceType = typeof(Common.Resources.Admin.Common))]
[StringLength(250,
ErrorMessageResourceName = nameof(eCENTRE.Common.Resources.Admin.Common.String_Length_Validation_50),
ErrorMessageResourceType = typeof(eCENTRE.Common.Resources.Admin.Common))]
public string Value { get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
if (!String.IsNullOrEmpty(Value) && !StaticFunctions.IsValidEmail(Value))
{
yield return new ValidationResult(
UserTexts.EmailValidation,
new[] { nameof(Value) }
);
}
}
}
此DTO在我的DetailDTO中使用,如此
public ICollection<EmailBaseDTO> Emails { get; set; } = new List<EmailBaseDTO>();
在图像上,您可以看到验证错误被正确触发并且提交被中断。