【问题标题】:How to disable button when RadDataForm is not validated?未验证 RadDataForm 时如何禁用按钮?
【发布时间】:2020-08-29 23:48:01
【问题描述】:

表单未通过验证时禁用按钮。

{N} Playground

A similar question 之前被问过。它说它已经解决了,但体面的解决方案到底是什么?我错过了什么吗?

Form validation documentation page 坏了,它有降价错误。

【问题讨论】:

    标签: nativescript-vue nativescript-telerik-ui nativescript-plugin


    【解决方案1】:

    添加在每次验证时触发的@propertyValidated="onValidateForm" 事件侦听器。 然后您可以在表单上使用hasValidationErrors() 来查看表单是否有效。唯一的窍门是它必须被包裹在 setTimeout() 中,就像这样:

    onValidateForm(event) {
        setTimeout(() => {
            this.validated = !event.object.hasValidationErrors();
            console.log("form valid: " + this.validated);
        }, 100);
    }
    

    如需完整解决方案,请参阅this {N} Playground

    【讨论】:

    • 即使它使用那个蹩脚的setTimeout,我认为这个解决方案比@ian-macdonald 的更好,因为无论你有多少字段它都可以工作。
    【解决方案2】:

    我回答了另一个问题。

    我也更新了your playground

    【讨论】:

    • 此解决方案的多输入版本是in this {N} Playground 正如您在 slack 中所建议的,我将启用该按钮,但如果 hasValidationErrors() 则执行不同的操作。谢谢
    猜你喜欢
    • 1970-01-01
    • 2017-11-07
    • 1970-01-01
    • 2019-05-30
    • 2011-02-02
    • 2016-08-15
    • 1970-01-01
    • 2023-01-27
    • 1970-01-01
    相关资源
    最近更新 更多