2016-07-25 68 views
0

這是我的剃刀:範圍驗證錯誤總是顯示

<div class="row form-group"> 
     <label class="control-label col-md-2">Number to answer</label> 
     <div class="col-md-6"> 
      @Html.TextBoxFor(t => t.SelectedQuestions, new { style = "width: 10%", @class = "form-control" }) 
      @Html.ValidationMessageFor(t => t.SelectedQuestions) 
     </div> 
    </div> 

這是生成的HTML:

<div class="row form-group"> 
       <label class="control-label col-md-2">Number to answer</label> 
       <div class="col-md-6"> 
        <input class="input-validation-error form-control" data-val="true" data-val-number="The field SelectedQuestions must be a number." data-val-range="The value entered must be bigger than zero." data-val-range-max="6" data-val-range-min="1" data-val-required="The SelectedQuestions field is required." id="SelectedQuestions" name="SelectedQuestions" style="width: 10%" type="text" value="3"> 
        <span class="field-validation-error" data-valmsg-for="SelectedQuestions" data-valmsg-replace="true">The value entered must be bigger than zero.</span> 
       </div> 
      </div> 

這就是我如何定義屬性:

CS代碼

[Range(1, 6, ErrorMessage = "The value entered must be bigger than zero.")] 
    [Required] 
    public int SelectedQuestions { get; set; } 

當我的頁面LOADS時,該字段確實有有效的數據,但它仍然總是顯示該字段下的紅色驗證錯誤,爲什麼?

此外,即使我刪除它中的數字並輸入其他內容,它仍然是紅色的,它不會消失。

如果有東西我應該加到CSS也許?請告訴我。

+0

你有相關的文件(JS/CSS)加載正確? – Shyju

+0

@Shyju什麼相關文件?不,我沒有做任何與CSS – Bohn

+0

@Shyju:請更具體一點,如果有文件,你能指出我嗎? – Bohn

回答

1

你BundleConfig.cs文件應具有註冊如下javascript文件:

bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
         "~/Scripts/jquery.validate*")); 

下面CSS需要在你的CSS(我猜是,如果你看到紅色):

.field-validation-error { 
    font-weight:bold; 
    color:red; 
} 

.validation-summary-errors { 
    font-weight:bold; 
    color:red; 
} 

確保您_layout.cshtml有thew底部以下內容:

@Scripts.Render("~/bundles/jquery") 
@Scripts.Render("~/bundles/jqueryval") 
@Scripts.Render("~/bundles/bootstrap") 

然後,只要您在無論是在你的_layout或您的網頁上的所有應工作如下:

@{Html.EnableClientValidation(); } 
+0

非常好,它的工作。非常感謝。我花了整整一天的時間。 – Bohn