我一直在尋找通過形式文檔,以及通過SO,但我不能確定如果下面是可能的。有沒有人遇到過解決方案?AngularJS形式表單 - 如何使單選按鈕需要
問題:如何配置Formly Form單選按鈕問題是必需的?
背景:我有一個API形式的問題返回到前端。例如,我可能會得到以下回:
這兩個字段都是DB中的「必需」。如果我沒有輸入「什麼是您的博客網址?」的答案,我會得到一個「必填字段」!信息。真棒。
但是如果我不填寫那個單選按鈕,我就不會收到這樣的消息。當我點擊「確認」時,表單就會掛起。
任何想法如何得到'這種形式是必需的!'無線電問題的消息?再次,這些問題不是硬編碼的,所以它不像向HTML中添加選項那麼簡單。
是的,我試過使用required:true。與選擇工作很好,但似乎與單選按鈕無關。試試這個:
formlyConfigProvider.setType([{
name: 'radio',
templateUrl: "radioTemplate.html",
wrapper: ['simpleLabel', 'errorMessage'],
defaultOptions: {
noFormControl: false
},
apiCheck: function apiCheck(check) {
return {
templateOptions: {
required: true,
options: check.arrayOf(check.object),
labelProp: check.string.optional,
valueProp: check.string.optional
}
};
},
controller: ['$scope', 'HelpersService', function($scope, HelpersService) {
if (['Internet Explorer', 'MSIE', 'Unknown', 'Edge'].indexOf(HelpersService.getBrowserName().name) > -1) {
$scope.ieClass = 'ie';
}
}]
}]);
我得到以下錯誤:
這使我相信這不是單選按鈕的選項。但是,如果我錯誤地解釋了這個錯誤,請讓我知道! :)
有人要求一個代碼示例。代碼庫中的很多代碼都是專有的;不過,我在下面列出了用於從數據庫返回的問題的模板。我真正好奇的是,如果任何人之前遇到過這個問題,並且是否有文件配置選項來繞過它,或者是非常簡單的黑客攻擊。否則,我會考慮用控制器中的函數來檢測這個。
****並非所有從數據庫返回的問題都將是必需的!
<div ng-if="ctrl.questions">
<form name="ctrl.form" ng-submit="ctrl.submit(ctrl.questions.model)" novalidate>
<formly-form form="ctrl.form" class="input" fields="ctrl.questions" model="ctrl.questions.model" >
<input type="submit" class="btn" id="submit" value="Confirm" />
</formly-form>
</form>
</div>
感謝您的回覆,但表格沒有硬編碼。相反,它是從數據庫動態創建的。 –
由於您無法控制表單,因此您可以在js部分手動進行驗證,然後將消息「注入」到對象中。 –