尝试为我的验证器函数编写逻辑,该函数具有我们用作输入验证的errorMap的对象,对于下面的逻辑,如果用户提供文本,则args.drugName是可选字段,我们只想确保其大于3个字母,或者如果为空,则为空应该是有效的。那么对于打字稿中的可选参数,我们如何解决此问题?

main.js

   {
                errorKey: ValidationErrorEnum.InvalidDrugName,
                successCondition: (args: DrugPriceParam) => {
                    let isValid: boolean = false;
                    isValid = args.drugName.length >= 3 ? true : _.isEmpty(args.drugName) ? true : false;

                    // if (args.drugName && args.drugName.length >= 3) {
                    //         isValid = true;
                    // } else if (_.isEmpty(args.drugName)) {
                    //     isValid = true;
                    // }
                    return isValid;
     }


错误;

error TS2532: Object is possibly 'undefined'.

最佳答案

您可以将支票简化为

return !args.drugName || args.drugName.length > 2;
//     if empty
//                       if longer then 2 characters

关于javascript - 如何为多个条件和可选参数编​​写三元运算符逻辑?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58962095/

10-16 18:14