Мне сложно подтвердить дату рождения. пользователь должен выбрать дату в календаре. после того, как пользователь нажмет «Подтвердить». он должен быть в состоянии определить, старше ли он 18 или меньше 18 лет. Я новичок в mvc. любая помощь? какой оператор я должен вставить для проверки dob (ниже или старше 18) вот что я пробовал: Контроллер:

public ActionResult Create(Information information, string buttonType)
    {
        if (buttonType=="Register")
        {
            var byteArray = Encoding.ASCII.GetBytes(information.Surname + Environment.NewLine + information.DOBP + Environment.NewLine + information.Email + Environment.NewLine + information.Gender + Environment.NewLine + information.Tel);
            var stream = new MemoryStream(byteArray);
            return File(stream, "text/plain", "Registration.txt");
        }
        if (buttonType=="Validate")
        {


        }
        return View(information);



    }
1
bhav 19 Дек 2019 в 13:44
Вы можете использовать метод вычитания даты и времени. docs.microsoft.com/en-us/dotnet/api/…, c-sharpcorner.com/article/…
 – 
Gaurav Chauhan
19 Дек 2019 в 13:56
Не могли бы вы помочь мне с точки зрения кода?
 – 
bhav
19 Дек 2019 в 14:13
OT вы уверены, что фамилия содержит только символы ASCII (читай: латинские символы без диакритических знаков)?
 – 
Hans Kesting
19 Дек 2019 в 16:37
Привет, ханс, да
 – 
bhav
20 Дек 2019 в 07:38

2 ответа

Вы можете сделать то же самое с помощью Javascript. Проверьте ссылку Ссылка для проверки JavaScript. После проверки значения вы можете проверить в самом браузере. Зачем выполнять такие действия в коде позади? Есть ли необходимость в таких действиях для выполняемого кода?

0
Mr_rk 19 Дек 2019 в 14:58
Ответы только по ссылкам здесь обычно неприемлемы. Разместите соответствующий код в своих ответах. Кроме того, это скорее комментарий, чем ответ.
 – 
Sam Axe
19 Дек 2019 в 22:56

Бхав

Вот пример кода, который я использую где-то в m-коде. Надеюсь, это поможет тебе.

public bool IsValidDOB(DateTime date)
    {
        bool  objResult = null;
        try
        {
            if ( date < System.DateTime.Now )
            {
                DateTime now = DateTime.Today;
                int age = now.Year - date.Year;
                if (date > now.AddYears(-age)) age--;
                if (age>=18)
                objResult =  true;
                else
                    objResult =  false;
            }
            else
            {
                objResult =  false;
            }
        }
        catch (Exception ex)
        {
            objResult = new  false;
            Core.Logger.AdminTrace.Logger(Core.Logger.LogArea.BusinessTier, ex);
        }
        return objResult;
    }
0
Rajan Mishra 19 Дек 2019 в 18:21
if(targetDate <= DateTime.Now.AddYears(-18)) { // person is 18 yrs or older }
 – 
Sam Axe
19 Дек 2019 в 22:59
Привет, Раджан, где мне разместить его в моем проекте mvc? на контроллере или в представлении или модели ..im новый
 – 
bhav
20 Дек 2019 в 07:31
Вы можете вызвать его в контроллере, но будет разумно вызвать его из другого класса бизнес-уровня, если он у вас есть.
 – 
Rajan Mishra
20 Дек 2019 в 10:29
Если это сработает, проголосуйте, пожалуйста.
 – 
Rajan Mishra
20 Дек 2019 в 10:30
Как позвонить в контроллер ..?
 – 
bhav
20 Дек 2019 в 10:47