سلام.
هنگامی که مقدار تصویر اشتباه وارد شود پیغام خطای لاتین نمایش داده می شود در صورتی که متن پیغام فارسی شده!!!!!
ModelState.AddModelError("CaptchaInputText", "عبارت وارد شده صحیح نیست");
کد ویو و کنترلر را قرار دهید تا بررسی کنم
کد ویو
@using CaptchaMvc.HtmlHelpers @model FekreKaghaziOnlineShop.Models.RegisterViewModel @{ ViewBag.Title = "عضویت در فکر کاغذی"; var captcha = Html.Captcha("تصویر جدید", "",3, "عبارت در تصویر را وارد کنید", false); } <h2>عضویت در سایت</h2> @using (Html.BeginForm()) { @Html.AntiForgeryToken() <div class="form-horizontal"> <hr /> @Html.ValidationSummary(true, "", new { @class = "text-danger" }) <div class="form-group"> @Html.LabelFor(model => model.UserName, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.UserName, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.UserName, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.Pass, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.Pass, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.Pass, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.RePass, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.RePass, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.RePass, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> <span class="glyphicon glyphicon-user" ></span> @Html.LabelFor(model => model.Email, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.Email, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.Email, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> <div class="col-md-2"> تصویر امنیتی </div> <div class="col-md-10"> @captcha @Html.ValidationMessage(captcha.BuildInfo.InputElementId, new { @class = "text-danger" }) </div> </div> </div> <div class="form-group"> <div class="col-md-offset-2 col-md-10"> <input type="submit" value="ثبت نام" class="btn btn-danger" /> </div> </div> } <script src="~/Scripts/jquery-1.10.2.min.js"></script> <script src="~/Scripts/jquery.validate.min.js"></script> <script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script> <script> $(function() { $('#CaptchaInputText').addClass('form-control'); }); </script>
کد کنترل:
public ActionResult Register(RegisterViewModel register)
{
if (ModelState.IsValid)
{
if (this.IsCaptchaValid("Captcha is not valid"))
{
if (!db.Users.Any(u => u.Email == register.Email.Trim().ToLower()))
{
Users usr = new Users()
{
Email = register.Email.Trim().ToLower(),
ActiveCode = Guid.NewGuid().ToString(),
IsActive = false,
RegisterDate = DateTime.Now,
Password = FormsAuthentication.HashPasswordForStoringInConfigFile(register.Pass, "MD5"),
RoleID = 2,
UserName = register.UserName
};
db.Users.Add(usr);
db.SaveChanges();
}
else
{
ModelState.AddModelError("Email", "ایمیل وارد شده تکراری است");
}
}
}
else
{
ModelState.AddModelError("CaptchaInputText", "عبارت وارد شده صحیح نیست");
}
return View(register);
}
به شکل زیر بنویسید
public ActionResult Register(RegisterViewModel register) { if (ModelState.IsValid) { if (this.IsCaptchaValid("عبارت وارد شده صحیح نیست")) { if (!db.Users.Any(u => u.Email == register.Email.Trim().ToLower())) { Users usr = new Users() { Email = register.Email.Trim().ToLower(), ActiveCode = Guid.NewGuid().ToString(), IsActive = false, RegisterDate = DateTime.Now, Password = FormsAuthentication.HashPasswordForStoringInConfigFile(register.Pass, "MD5"), RoleID = 2, UserName = register.UserName }; db.Users.Add(usr); db.SaveChanges(); } else { ModelState.AddModelError("Email", "ایمیل وارد شده تکراری است"); } } else { ModelState.AddModelError("CaptchaInputText", "عبارت وارد شده صحیح نیست"); } } return View(register); }
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)