2017-12-03 174 views
0

我可能在這裏做錯了什麼,但無法解決此問題。Angular 2中多個三元運算符上的禁用按鈕

我試圖用兩種形式驗證 禁用按鈕像

this.dailyFlag = true; 
this.monthlyFlag = false; 

,並具有形式

<form (submit)='pushData()' #dailyForm="ngForm">...</form> 
<form (submit)='pushData()' #monthlyForm="ngForm">...</form> 
<button disabled='--- saveral condition as below--' > 
If (dailyFlag && monthlyFlg) then check both forms sholud be valid 
else 
if(daliFlag) then checkFor dailyForm valid only else false 
if(monthlyFlag) then check For monthlyForm valid only else false 

**複製下面的代碼,這低於plunker代碼執行並檢查 https://plnkr.co/edit/JQjLMJiohgOJ8Mf6xbgP?p=preview

回答

0

如果表單無效,將禁用該按鈕。如果dailyForm無效或monthlyForm無效

[disabled] = "!dailyForm.valid || !monthlyForm.valid" 

//禁用真正

+0

肯定的,但形式顯示/基於像dailyFlag和monthlyFlag這樣的標誌隱藏。所以如果我把上述條件強制檢查這兩種形式驗證不是一種情況 –

+0

使用[隱藏] =「!dailyForm」 – nightElf91

0

這個條件應該工作

[disabled] ="(!dailyForm.valid && dailyFlag) || (!monthlyForm.valid && monthlyFlag)" 

編輯糾正錯別字

+0

沒有它的不工作 –

+0

對不起,它有錯別字,你在測試之前糾正它們嗎? – Turo

+0

啊,我發現你的設置有錯誤:'dailyFlag:true; monthlyFlag:true;'應該是'dailyFlag = true; monthlyFlag = true;' – Turo