0
我有一個字符串列表,我必須定義一個規則來在Web API中驗證我的ModelState。關於字符串列表的流暢驗證
此列表中的每個字符串元素只應具有長度= 2。不大於2或小於2.
我寫了這樣的東西,但它不工作。
RuleFor(m => m.State.TrueForAll(x => x.Length == 2)).Equals(true);
有人可以幫我在這裏。
我有一個字符串列表,我必須定義一個規則來在Web API中驗證我的ModelState。關於字符串列表的流暢驗證
此列表中的每個字符串元素只應具有長度= 2。不大於2或小於2.
我寫了這樣的東西,但它不工作。
RuleFor(m => m.State.TrueForAll(x => x.Length == 2)).Equals(true);
有人可以幫我在這裏。
你有沒有嘗試過這樣的:
bool isAllValid = yourList.All(x => x.Length == 2);
凡yourList
是輸入列表,執行後,如果列表中的所有元素都長2
的isAllValid
值將是真實的。如果字符串中的任何項目小於2
或大於2
,則isAllValid
的值將爲false。如果您附上此方法下,那麼它的簽名是:
public bool IsAllItemsValid(List<string> yourList)
{
return yourList.All(x => x.Length == 2);
}
難道不應該更喜歡'RuleFor(M => m.State)。必須(S => s.TrueForAll(X => X .Length == 2))'; 'RuleFor'旨在選擇要驗證的屬性,然後在此之後進行驗證。 – juharr
[您如何使用Fluent驗證對列表中的每個字符串進行驗證?](https://stackoverflow.com/questions/10190316/how-do-you-validate-against-each-string-in-a -list-using-fluent-validation) –
@juharr這工作!謝謝。 – S7H