Oma*_*uez 2 c# blazor blazor-webassembly
我在 Blazor 中使用自定义验证,验证执行正确,但是当它无效时,不会显示ValidationMessage For ,我尝试添加 ValidationSummary,但这里确实出现 ErrorMessage。我希望有人能支持我
\n\n public class Domicilio\n {\n public int Id { get; set; }\n public DateTimeOffset FechaRegistro { get; set; }\n [Required(ErrorMessage ="Favor de capturar la calle")]\n public string Calle { get; set; }\n [Required(ErrorMessage = "Favor de capturar el n\xc3\xbamero exterior")]\n public string NumeroExt { get; set; }\n public string NumeroInt { get; set; }\n [Range(1,int.MaxValue, ErrorMessage="Favor de seleccionar la colonia")]\n public int CodigoPostalId { get; set; }\n public CatCodigosPostales CodigoPostal { get; set; }\n [OtroCPValidation]\n public string OtroCodigoPostal { get; set; }\n public string OtraColonia { get; set; }\n public string OtraCiudad { get; set; }\n public string OtroEstado { get; set; }\n [Range(1,int.MaxValue,ErrorMessage="Favor seleccione el pa\xc3\xads")]\n public int PaisId { get; set; }\n public CatPaises Pais { get; set; }\n public string Observaciones { get; set; }\n }\n\npublic class OtroCPValidation : ValidationAttribute\n {\n protected override ValidationResult IsValid(object value, ValidationContext validationContext)\n {\n var domicilio = (Domicilio)validationContext.ObjectInstance;\n if (domicilio.Pais.Pais != "M\xc3\xa9xico" && domicilio.OtroCodigoPostal == null)\n {\n return new ValidationResult($"Captura el c\xc3\xb3digo postal extranjero");\n }\n \n else\n return ValidationResult.Success;\n }\n }\n\n<EditForm Model="Domicilio" OnValidSubmit="OnValidSubmit" style="height:75vh" class="row justify-content-center align-items-center">\n <DataAnnotationsValidator />\n<div class="form-group">\n <label>C\xc3\xb3digo postal</label>\n <div>\n <SfMaskedTextBox Placeholder="C\xc3\xb3digo postal" Mask="[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]" @bind-Value="@Domicilio.OtroCodigoPostal"></SfMaskedTextBox>\n <ValidationMessage For="@(() => Domicilio.OtroCodigoPostal)" />\n </div>\n </div>\n</EditForm>\n
Run Code Online (Sandbox Code Playgroud)\n
我能够解决我遇到的问题,我在 IsValid 方法的返回中缺少重载,我将返回保留为应有的样子,我只需要进行更改。
return new ValidationResult(ErrorMessage, new[] { validationContext.MemberName});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2037 次 |
最近记录: |