サーバーがエンティティ メタデータで追加情報を返すように 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、など...)。これは、基本的な検証のユースケースの大部分をカバーします。または、開発者がメタデータを調べて、独自のカスタム RegEx バリデーターを接続するために使用できる regEx 文字列などの有用な情報を引き出すこともできます。
また、Breeze に ErrorMessage 検証属性プロパティの値をメタデータに含めて、それを Breeze クライアントにデフォルトの必須および maxLength メッセージ テンプレートの代わりに使用させる方法はありますか? これは、エラー メッセージをサーバー上の 1 か所で定義するだけでよく、エンティティごとにカスタマイズする必要がないことを意味します。
Breeze によって自動的に処理される可能性のある基本的な検証のように見えるもののために、クライアントで一連のカスタム バリデータを作成して登録する必要がないようにしています。
ありがとう、リチャード