我有模型自定義驗證在MVC模式
public class GroupedIssueData
{
[Range(0, double.MaxValue, ErrorMessage = "Please enter valid number")]
public double IssueQty { get; set; }
public double ReqQty { get; set; }
public bool isSavings { get; set; }
}
這包含兩個屬性爲IssueQty和IsSaving,如果IsSaving被選中,那麼IssueQty可以爲空,如果IssueQty不爲空,然後IsSaving可留空。我怎樣才能驗證此
我的看法是
<td>
@Html.DisplayFor(m => m.MaterialData[i].ReqQty)
@Html.HiddenFor(m => m.MaterialData[i].ReqQty)
</td>
<td>@Html.TextBoxFor(m => m.MaterialData[i].IssueQty, new { style = "width:70px" })@Html.ValidationMessageFor(m => m.MaterialData[i].IssueQty)</td>
<td class="text-center">@Html.CheckBoxFor(m => m.MaterialData[i].isSavings)</td>
我的控制器是
public async Task<ActionResult> GetWorkOrderMaterialDetails(IssueEntryModel m)
{
if (!ModelState.IsValid)
{
// redirect
}
var model = new IssueEntryModel();
}
我怎樣才能重定向到如果模型無效。我是否需要重定向到相同的控制器?我想保留輸入的數據。
我的看法是
使用[萬無一失(http://foolproof.codeplex.com /)''[RequiredIfTrue]''或類似的驗證屬性(或自己寫的) –