为什么服务器端验证不起作用?

时间:2015-12-15 05:40:19

标签: asp.net-mvc

这是我的电影控制器.....

namespace Movies.Models
{

    [MetadataType(typeof(MovieMetadata))]
    public partial class Movie
    {
        class MovieMetadata
        {
            [Required(ErrorMessage = "*")]
            public string Title { get; set; }

            [Required(ErrorMessage = "*")]
            [Range(5, 100, ErrorMessage = "Movies cost between $5 and $100.")]
            public decimal Price { get; set; }
        }
    }
}

并在模型中创建了Movie类

[[session dataTaskWithURL:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
    // handle response
    NSError *parseError;
    NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError];
    // do something with `json`
    dispatch_async(dispatch_get_main_queue()), ^{[collectionView reloadData]});
}] resume];

这应该给我正确的验证..但范围不起作用.. 还......他们正在加入数据库

1 个答案:

答案 0 :(得分:0)

[HttpPost]
public ActionResult Create(Film newFilm)
{
   if (ModelState.IsValid)
   {
    ..some code for adding new movie in the database
   }
}

这样做。关于正在说或JQuery验证的Aman的评论。客户端验证不能替代服务器端验证。因此,请始终在客户端旁边使用ModelState验证。