我想添加范围,比较,最大值和最小值之类的验证
我已经尝试过了,但是这没有做我想要的
这是我的代码:CONTROLLER
[AllowAnonymous]
public ActionResult ResetPass(userPass model, string phoneNumber, String password, String repassword)
{
if (!String.IsNullOrEmpty(model.repassword)&&!String.IsNullOrEmpty(model.password))
{
if (ModelState.IsValid)
{
using (var db = new MongoContext())
{
db._database.GetCollection<userPass>("userPass");
var filter = Builders<BsonDocument>.Filter.Eq("_phoneNumber", phoneNumber);
var update = Builders<BsonDocument>.Update
.Set("password", password);
db._database.GetCollection<BsonDocument>("farmers").UpdateOne(filter, update, null);
return RedirectToAction("Login", new {Message = "password has been reset"});
}
}
}
return View(model);
}
查看:
@Html.ValidationMessage("userPass", "")
<div class="form-group">
<input type="text" class="form-control" placeholder="Confirm password" required="" name="repassword" align="center">
</div>
<button type="submit" class="btn btn-primary block full-width m-b">Update</button>
ViewModel:
namespace CroplyticsWeb.ViewModels.MongoDbModels
{
public class userPass
{
[BsonElement("password")]
[Range(10000000,99999999)]
[Required]
public String password { get; set; }
[BsonElement("repassword")]
[Range(10000000,99999999)]
[Compare("password", ErrorMessage = " ")]
public String repassword { get; set; }
}
}
这什么也没做。
答案 0 :(得分:0)
您不应在字符串上使用范围。而是使用字符串长度
public class userPass
{
[Required]
[StringLength(40, ErrorMessage = "Password cannot exceed 40 characters")]
public String password { get; set; }
[Required]
[StringLength(40, MinimumLength = 5, ErrorMessage = "Username must be atleast 5 characters")]
public String userName{ get; set; }
}
您可以在StringLength和here那里进一步了解here