Отправьте все требуемые текстовые поля, кроме одного. ASP.NET MVC
Я прочесывал Stack Overflow на предмет чего-либо, имеющего отношение к этому (и другим сайтам) в течение нескольких дней, пытаясь понять это. Пожалуйста помоги (-:
У меня есть форма с множеством текстовых полей. Некоторые из них требуются, некоторые - нет. У меня есть 2 поля для номеров социального страхования, и они должны совпадать, называться и.
Я не назвал первый, как я бы назвал его
Ничего из того, что я попробую, не сработает, он просто обновляет страницу и возвращается к
Кроме того, мне пришлось изменить поля ssn на
//Please know I didn't write all this code, this was written by our back-end guy.
public class IndividualController : Controller
{
private DataForm18Entities db = new DataForm18Entities();// he named it that because we built this in 2018
public ActionResult Index()
{
//ModelState["SSNAgain"].Errors.Clear();//tried this to clear the validation so it can submit, but didn't work.
System.Threading.Thread.Sleep(2000);//just to pause it a little for the animated loader to do its thing.
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Index([Bind(Include = "RowID,TaxID,FirstName,LastName,BirthDate,blah,blah,blah)] DataForm_Individual dataForm_Individual)
{
//ModelState["SSNAgain"].Errors.Clear();//tried putting this here...
if (ModelState.IsValid)
{ //ModelState["SSNAgain"].Errors.Clear();//probably tried putting this here...
try
{
db.DataForm_Individual.Add(dataForm_Individual);
db.SaveChanges();
//some other code to send success email
return View("Success");
}
catch (Exception e)
{
//code to send error info to email
return View("Error");
}
}
return View(dataForm_Individual);
}
}
Я тоже пробовал использовать JavaScript...
$(function () {
$("#IndvForm").submit(function () {//the ID of my form...
//$("#SSNAgain").removeAttr("data-val-required");//I tried this...
if ($(this).valid()) {
//$("#SSNAgain").rules("remove"); //I tried to remove all the rules this way also
$("#loading").fadeIn();//this is for the spin.js plugin I use to have a loading animation upon submit.
var opts = {
lines: 12, // The number of lines to draw
length: 7, // The length of each line
width: 4, // The line thickness
radius: 10, // The radius of the inner circle
color: '#000', // #rgb or #rrggbb
speed: 1, // Rounds per second
trail: 60, // Afterglow percentage
shadow: false, // Whether to render a shadow
hwaccel: false // Whether to use hardware acceleration
};
var target = document.getElementById('loading');
var spinner = new Spinner(opts).spin(target);
return true;
}
});
});
Ничего из того, что я попробую, не сработает. Мне просто нужно отправить страницу в базу данных, а НЕ отправлять содержимое из SSNAgain. Но клиенты должны указать свой номер SSN, и он должен совпадать с таковым в TaxID. На данный момент я просто хватаюсь за соломинку.
Ах да, чуть не забыл. Вот мои аннотации:
[Required(ErrorMessage = "SSN is required")]
[RegularExpression(@"[0-9]*\.?[0-9]+", ErrorMessage = "SSN must be numbers only.")]
[StringLength(9, MinimumLength = 9, ErrorMessage = "Invalid SSN Length")]
[DataType(DataType.Password)]
[Display(Name = "SSN", Description = "Please enter your Social Security Number without spaces or dashes")]
public string TaxID { get; set; }
[Required(ErrorMessage = "SSN is required")]
[RegularExpression(@"[0-9]*\.?[0-9]+", ErrorMessage = "SSN must be numbers only.")]
[StringLength(9, MinimumLength = 9, ErrorMessage = "Invalid SSN Length")]
[DataType(DataType.Password)]
[Display(Name = "Confirm SSN", Description = "Please enter your Social Security Number again without spaces or dashes")]
public string SSNAgain { get; set; }