0

's1pdtCalc' の値を null にして、レコードを保存できるようにする必要があります。現在、「s1pdtCalc is null or not an object」というエラー メッセージが表示されます。助けてくれてありがとう、ここにコードがあります。

 function validateForm(values) {
        var pass = true;
        // check percent days turnaround

        var ck = values.s1pdtCalc.toString ();
        if (ck > "") {
            var t1 = values.s1pdtNTTd.toString (); //NEMIS Turn around
            var t2 = values.s1pdtTAd.toString (); //NEMIS Turn adjustment
            var t3 = values.actDays.toString ();  //NEMIS Turn adjustment
            t1 = (t1!=null?t1.trim ():0);

            if (ck == "MINUS") {
                if ((t1-t2) > t3) {
                    errorMsgs += '<br /> s1pdtATT - Percent days turnaround < 4.0.0. exceeds the number of activation days';
                }
            }
            else {
                if ((t1+t2) > t3) {
                    errorMsgs += '<br /> s1pdtATT - Percent days turnaround < 4.0.0. exceeds the number of activation days';
                }
            }
        }

        if (errorMsgs > "") {
            pass = false
        }
        return pass;
    }
4

1 に答える 1

1

存在しないオブジェクトに対してメソッドを呼び出すことはできません。s1pdtCalcメソッドを呼び出す前に、存在しない場合はデフォルトにする必要があります。

function validateForm(values) {
    ...
    // set ck to an empty string if values.s1pdtCalc doesn't exist
    var ck = values.s1pdtCalc ? values.s1pdtCalc.toString() : '';
    ...
于 2012-09-13T14:33:26.307 に答える