2016-05-03 6 views
0

私は検証用の社会保障番号(ssn)ボックスを持っています。正確には3つの異なるボックス。理想的には、私は次のような行動をしたいと思います。ボックスが空白の場合は、欠落した情報として強調表示されますが、ssnというメッセージが1つだけ欠落しています。フィールドを強調表示するにはどうすればよいですか?流暢な検証で検証メッセージを表示しないでください

コード:

 RuleFor(m => m.Ssnumber1) 
      .NotEmpty() 
      .WithMessage("Social security number required"); 

     RuleFor(m => m.Ssnumber2) 
      .NotEmpty() 
      .When(m => !string.IsNullOrWhiteSpace(m.Ssnumber1)) 
      .WithMessage("Social security number required") 
      .NotEmpty() 
      .When(m => string.IsNullOrWhiteSpace(m.Ssnumber1)) 
      .WithMessage("I don't want a message just highlight"); 
    ................ the third ssn box is just the same ............. 

実際のメッセージを受け取るためWithMessage(String.Emptyを)またはエラーの任意の同等の結果を追加します。しかし、メッセージを追加しない場合(WithMessageなし)は、フィールドを強調表示しません。実際のメッセージを追加すると、1つのssnメッセージで十分であるため、検証メッセージリストが表示され、クラッタします。

私はこの男と同じ問題を持っているかもしれないと思う:Only highlight required fields without showing an error message

答えて

0

あなたはメッセージを表示せずにルールを持っているだけでエラーが発生した入力のスタイルを設定できます。

通常、あなたの意見で検証エラーを持っている入力は、以下のクラスの入力検証エラー」を持つことになります、あなたは単にあなたに、このCSSルールを含めることができます。これは、につながる

input.input-validation-error { 
    border: 1px solid red; 
} 

を見ます検証エラーのあるすべての入力を赤で強調表示します。あなたにも検証メッセージを強調したい場合

また、あなたは

.field-validation-error { 
    color: red; 
} 

を行うことができます。あるいは、ディスプレイをする:それを隠すために誰も。

+1

複数の質問に同じ回答を投稿しないでください。同じ情報が両方の質問に本当に答えると、ある質問(通常は新しい質問)はもう一方の質問の複製として閉じられるべきです。これを[重複して閉じるために投票する](http://stackoverflow.com/help/privileges/close-questions)、または十分な評判がない場合は[フラグを立てる]( http://stackoverflow.com/help/privileges/flag-posts)を使用して、重複していることを示します。それ以外の場合は、* this *の質問への回答を調整し、複数の場所に同じ答えを貼り付けるだけではありません。 –

関連する問題