如果數據庫IE中沒有任何內容,則嘗試安裝參數以便安裝EA。這是有人第一次創造一些東西。如果客戶端驗證需要表達註釋
但是,即使模型進入部分視圖時,RequiredIf也不會觸發客戶端驗證,但BindingExists布爾值設置爲false且Xml值仍爲null。
型號:
public class AddTestStepXmlParameterModel
{
public ParameterTypeEnum ParameterType { get; set; }
public string ParameterName { get; set; }
public string Description { get; set; }
[RequiredIf("BindingExists == false", ErrorMessage = "An XML File is required: Please Try again")]
[FileExtensions(Extensions = "xml", ErrorMessage = "Specify an XML file.")]
public HttpPostedFileBase XmlValue { get; set; }
public bool BindingExists { get; set; }
}
的Global.asax:
protected void Application_Start()
{
ModelValidatorProviders.Providers.Remove(ModelValidatorProviders.Providers.FirstOrDefault(x => x is DataAnnotationsModelValidatorProvider));
ModelValidatorProviders.Providers.Add(new ExpressiveAnnotationsModelValidatorProvider());
}
腳本中查看:
<script src="~/Scripts/jquery-3.1.0.js"></script>
<script src="~/Scripts/jquery.validate.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.js"></script>
<script src="~/Scripts/expressive.annotations.validate.js"></script>
管窺電話:
@Html.Partial("AddParameters", Model.AddTestStepModel.AddTestStepParametersModel)
局部視圖:
@Html.HiddenFor(m => m.AddTestStepXmlParameterModels[k].BindingExists, new {@Value = Model.AddTestStepXmlParameterModels[k].BindingExists})
@Html.TextBoxFor(m => m.AddTestStepXmlParameterModels[k].XmlValue, new {type = "file", @class = "btn btn-default btn-file", style = "color:transparent", onchange = "this.style.color = 'black'"})
@Html.ValidationMessageFor(m => m.AddTestStepXmlParameterModels[k].XmlValue)
當使用只是一個正常的「必需」,XML值客戶端打完正常,但是使用RequiredIf不能做任何確認。我已經使用Global.asax跟蹤了isntallation步驟
我已經證實,RequiredIf驗證現在用於模型的一些屬性(我創建了一個測試字符串,並使用相同的邏輯作爲XML參數和它的作品) 然而,試圖使用它的時候HttpPostedFileBase,RequitedIf無法檢查需求並允許用戶在不上傳文件的情況下提交表單。 – TLBB