2015-10-19 79 views
0

這個問題可能就會發現聽起來重複,但我有任何不滿意的答案,因爲一些被建議MVC Foolproof validaiton有條件validaiton有的告訴它不工作以及與實體框架MVC萬無一失驗證顯示,同時呼籲SaveChange方法

我異常我在我的項目中使用了MVC Foolproof RequiredIf validation。它在客戶端運行良好,驗證也在服務器端工作。

[RequiredIf("STCompulsory",Operator.EqualTo,true,ErrorMessage="Please enter Registration No")] 
    public string STRegNo { get; set; } 

但是,當我打電話db.Savechanges()插入數據的異常即將

An unexpected exception was thrown during validation of 'STRegNo' when invoking 
Foolproof.RequiredIfAttribute.IsValid. See the inner exception for details. 

的InnerException

The method or operation is not implemented. 
+0

這是否適用於視圖模型或實際數據模型? –

+0

感謝您的答覆..它適用於實際的數據模型.. – ksg

+0

不是一個好主意。是的,使用萬無一失的驗證和EF最適合使用視圖模型存在一些問題。此外它真的只需要'[RequiredIf(「STCompulsory」,true,ErrorMessage =「..」)]' –

回答

1

你不需要Operator.EqualTo參數,它可以簡單地

[RequiredIf("STCompulsory", true, ErrorMessage="Please enter Registration No") 
public string STRegNo { get; set; } 

你說得對,因爲簡單易行的[RequiredIf]屬性確實存在一些EF問題,並且在this work issue(以及一些建議的更改)中對此進行了詳細討論。

最簡單的解決方案是在視圖中使用視圖模型而不是數據模型,並將該屬性應用於視圖模型屬性。

相關問題