Отправьте все требуемые текстовые поля, кроме одного. ASP.NET MVC

Я прочесывал Stack Overflow на предмет чего-либо, имеющего отношение к этому (и другим сайтам) в течение нескольких дней, пытаясь понять это. Пожалуйста помоги (-:

У меня есть форма с множеством текстовых полей. Некоторые из них требуются, некоторые - нет. У меня есть 2 поля для номеров социального страхования, и они должны совпадать, называться и.

Я не назвал первый, как я бы назвал его , но это сделал кто-то другой. Я уже написал код для проверки совпадения в обоих полях, поэтому мне пришлось сделать их оба обязательными, и в них должно быть 9 цифр. Проблема в том, что мне нужно отправить только первый а не ящик к базе.

Ничего из того, что я попробую, не сработает, он просто обновляет страницу и возвращается к поле с выделенным розовым цветом (вероятно, потому, что для него нет поля в базе данных), или он отправляет меня на страницу общей ошибки, предоставленную ASP.NET MVC, когда мы настраивали это несколько лет назад.

Кроме того, мне пришлось изменить поля ssn на Ящики, потому что нашу компанию недавно выкупили, и эти ребята хотели, чтобы ящики 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; }

0 ответов

Другие вопросы по тегам