молния: входные данные Дата проверки поля - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь использовать стандартное средство выбора даты, используя компонент ниже, но я хочу отобразить пользовательское сообщение об ошибке, когда введенная дата не находится в указанном минимальном и максимальном диапазоне.Но я не могу этого добиться, так как вижу стандартное сообщение об ошибке.Я реализовал то же самое, обратившись к: https://developer.salesforce.com/docs/component-library/bundle/lightning:input/example, и по этой ссылке я вижу, что могут отображаться пользовательские сообщения об ошибках.Но у меня ничего не получалось, может кто-нибудь помочь.https://developer.salesforce.com/docs/component-library/bundle/lightning:input/documentation

<lightning:input aura:id="field
                     type="date" 
                     name="MyDatefield" 
                     label="MyDateField" 
                     value="2017-09-07" 
                     min="2017-09-05" 
                     messageWhenRangeUnderflow="Select correct date range1"
                     max="2017-09-22" 
                     messageWhenRangeOverflow="Select correct date range2"
                     onchange="{!c.checkValidity }"
</aura:component>

1 Ответ

0 голосов
/ 07 декабря 2018

Это спросили 1 месяц назад, но поделился ответом, если кто-то еще сталкивается с этим.Используйте методы Lightning setCustomValidity () и reportValidity () .

Компонент:

    <aura:component >
    <lightning:input aura:id="field"
                     type="date" 
                     name="MyDatefield" 
                     label="MyDateField" 
                     value="2017-09-07" 
                     min="2017-09-05" 
                     max="2017-09-22" 
                     onblur ="{!c.checkValidity }"
             />
</aura:component>

Контроллер:

({
    checkValidity : function(component, event, helper) {
        var inputCmp = component.find("field");
        inputCmp.setCustomValidity(""); //reset error
        var value = inputCmp.get("v.value");
        console.log('value: '+value);
        var lowerRange =  new Date("2017/09/05"); 
        var higherRange =  new Date("2017/09/22"); 
        if(!inputCmp.checkValidity()){
            if(Date.parse(value)){
                if (Date.parse(value) < lowerRange) {
                    inputCmp.setCustomValidity("Select correct date range1");
                }else if (Date.parse(value) > higherRange){
                    inputCmp.setCustomValidity("Select correct date range2"); 
                }
            }else{
                inputCmp.setCustomValidity("Invalid value");
            }
        }
        inputCmp.reportValidity();
    }
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...