想知道是否有人知道扩展或配置 Breeze 以便服务器在实体元数据中返回附加信息的任何方法?我想使用这些附加数据来协助验证。
假设我有一个像这样应用了一些数据注释的实体模型:
public class Person {
[RegularExpression(@"^$|^http\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(/\S*)?",
ErrorMessage="The Website address does not appear to be valid.")]
public string Website { get; set; }
[Required(ErrorMessage="The Name field is required."),
MaxLength(150, ErrorMessage = "The Name field cannot exceed 150 characters."),
MinLength(5, ErrorMessage = "The Name field must be at least 5 characters.")]
public string Name { get; set; }
//...
}
目前,Breeze 仅根据它收到的元数据连接 MaxLength 和 Required Validator,因为这是它开箱即用的全部支持。如果 Breeze 可以在元数据中包含服务器实体上的 Data Annotation Attributes 中描述的信息,我认为 Breeze 可以自动向客户端 EntityType 添加额外的库存验证器(例如,RegEx、Range、MinLength、 ETC... )。这将涵盖大多数基本验证用例。或者,它还可以允许开发人员检查元数据并提取有用的信息,例如我们可以用来连接我们自己的自定义 RegEx 验证器的 regEx 字符串。
此外,有没有办法让 Breeze 在元数据中包含 ErrorMessage 验证属性属性的值,然后让微风客户端使用它而不是默认的 required 和 maxLength messageTemplates?这意味着您只需在服务器上的一个位置定义错误消息,而不必为每个实体自定义它。
我试图避免必须在客户端上创建和注册一堆自定义验证器,这些验证器看起来像是可以由 Breeze 自动处理的基本验证。
谢谢,理查德