网站搜索

javascript - 如何在 TypeScript 中将函数分配给对象属性?


我有一个简单的用例,我想验证日期输入,它应该是“YYYY/MM/DD”的格式,如果传入其他格式就抛出错误。所以问题是,我如何在 TypeScript 中将函数分配给对象属性?

main.ts

const ValidateRuless = [

    {element: "date", values: this.validateDate()}

];

function validateDate(date: string) {
    const date_regex =  /^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/ ;
    if (!(date_regex.test(date))) {
        return false;
    }
}

答案#1

要调用函数,不要使用 this.functionName。只有在调用类的方法时才使用 this.。

你可能还想在 validateDate 中两种情况下都返回一个值

示例:

const ValidateRuless = [

    {element: "date", values: validateDate("2018/05/17")}

];

function validateDate(date: string) {
    const date_regex =  /^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/ ;
    if (!(date_regex.test(date))) {
        return false;
    } else {
        return true;
    }
}