0

私はASPMVC3で働いています。顧客の連絡先情報を入力するためのモデルがあります。情報が必要です。ビュースタットが有効でない場合、テキストボックスには赤い境界線が必要です(これは機能します)。エラーメッセージはありません。ただし、emailinputが無効な場合、エラーはビューに表示される必要があります。したがって、emailannotationのエラーメッセージのみが表示され、requiredannotationのエラーメッセージは表示されない必要があります。私はこれを行う方法がわかりません。

モデル:

    [Required]
    public string FirstName { get; set; }
    [Required]
    public string Name { get; set; }
    [Required]
    public string Address { get; set; }
    [Required]
    public string PostalCode { get; set; }
    [Required]
    public string City { get; set; }
    [Required]
    public string Country { get; set; }
    [Required]
    public string PhoneNumber { get; set; }
    public string Fax { get; set; }
    [Required]
    [Email]
    public string Email { get; set; }

見る:

<div class="row-fluid">
    <div class="span6">
                <div data-role="fieldcontain" class="ui-hide-label">
                    <label for=@Lingo.language.Obj_Telefoon>@Lingo.language.Obj_Telefoon</label>
                    <span>@Html.TextBoxFor(m => m.PhoneNumber, new { style = "width:90%!important;", placeholder = @Lingo.language.Obj_Telefoon })</span>
                </div>               
    </div>
    <div class="span6">
        <div data-role="fieldcontain" class="ui-hide-label">
            <label for=@Lingo.language.Obj_Fax>@Lingo.language.Obj_Fax</label>
            <span>@Html.TextBoxFor(m => m.Fax, new { placeholder = @Lingo.language.Obj_Fax })</span>
        </div>  
    </div>
 </div>
 <div class="row-fluid">
    <div class="span12">
        <div data-role="fieldcontain" class="ui-hide-label">
            <label for=@Lingo.language.Obj_Email>@Lingo.language.Obj_Email</label>
            <span>@Html.TextBoxFor(m => m.Email, new { style = "width:98%!important;", placeholder = @Lingo.language.Obj_Email })</span>
            <span>@Html.ValidationMessageFor(m => m.Email)</span>
        </div>  
    </div>
 </div>
4

2 に答える 2

1

次のような必要なメッセージを書いてください。

[Required( ErrorMessage = "The first name is required" )]
public string FirstName { get; set; }
于 2012-04-11T09:38:51.037 に答える
0

必須にする必要があるが、「必須」エラーメッセージを表示したくない場合は、メッセージを単一のスペースに設定できます(実行時エラーを回避するために、「ErrorMessageStringまたはErrorMessageResourceNameのいずれかを設定する必要がありますが、両方ではありません。」)

[Required(ErrorMessage = " ")]
[Email(ErrorMessage = "Must be a valid email address.")]
public string Email { get; set; }

属性をまだ持っていない場合はEmail、以下を含むクラスファイル(EmailAttribute.csなど)を作成できます。

using System.ComponentModel.DataAnnotations;

public class EmailAttribute: RegularExpressionAttribute {
    public EmailAttribute()
      : base(@"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$") { }
  }
于 2012-04-11T09:57:41.093 に答える