簡體   English   中英

RegularExpressionAttribute不起作用,我也不知道為什么

[英]RegularExpressionAttribute Not Working and I Don't Know Why

我有一個具有MagicItem屬性的MVC2的簡單視圖模型類:

public class VoodooViewModel {

  [Required(AllowEmptyStrings = false, 
            ErrorMessage = "The Magic Item is required")]
  [RegularExpression(@"^[^-]*$", 
                     ErrorMessage = "Hyphens are not allowed in Magic Items.")]
  public string MajorModel { get; set; }
}

我只是想在此屬性中禁止使用連字符,但是對於我一生來說,我無法使其正常工作。 誰能看到我在做什么錯(RequiredAttribute工作正常)?

在我看來,我所說的正則表達式“從字符串的開頭到結尾,請匹配所有非連字符”。 我已經在這里的Regex測試器中對此進行了測試,並且可以正常工作-但在我的代碼中沒有。 無論我輸入多少連字符,都無法顯示錯誤。

像工具一樣,我忘記了檢查控制器的action方法來查看ModelState是否有效:

public ActionResult UberController(VoodooViewModel vvm)
{
  if (!ModelState.IsValid) return View(vvm);  //turns out this line is important

  (...yaddayaddayadda...)
}

謝達林為我指出正確的方向。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM