Правда, ложь, все равно - PullRequest
       38

Правда, ложь, все равно

0 голосов
/ 12 сентября 2018

Я хотел бы спросить о некоторых подходящих методах для логики валидации. Любые предложения для правильного ввода, которые могут потребоваться, не требуются или не заботятся.

Случай 1: обязательное текстовое поле.

bool required = true;
if(!String.IsNullOrEmpty("123") != required)
{
   //Error
}

Случай 2: текстовое поле не требуется.

bool required = false;
if(!String.IsNullOrEmpty("123") != required)
{
   //Error
}

Случай 3: текстовое поле является необязательным

Чего я хочу добиться, так это использовать одну общую функцию для проверки.

//this flag will change based on different input fields
bool required = true; 
if(required != null && (!String.IsNullOrEmpty(input) != required))
{
  //Error
}

Я думал о нуле, но я не уверен, что это единственный способ сделать это. Спасибо всем!

1 Ответ

0 голосов
/ 12 сентября 2018

Я думаю, вы ищете что-то вроде этого:

bool? mandatory = null;  // true, false or null for "I don't care"
if(mandatory.HasValue && string.IsNullOrEmpty(x) == mandatory.Value)
{
   //Error
}
...