必須ラジオボタンを作るためにはどうすればformlyフォームのドキュメントを見、だけでなく、SO通じが、以下が可能である場合、私は判断できませんしてきました。誰かが解決策に遭遇しましたか?AngularJS Formlyフォーム -
は問題:どのように1が必要とされることがFormlyフォームのラジオボタンの質問を設定していますか?
背景:私は、フロントエンドに質問を形成formly返却されたAPIを持っています。たとえば、私は以下を返すかもしれません:
これらのフィールドは両方ともDBに「必須」です。 「あなたのブログのURLは何ですか?」という答えを入力しなければ、「フィールドは必須です」というメッセージが表示されます。メッセージ。驚くばかり。
しかし、私はそのラジオボタンに必要事項を記入していない場合、私はそのようなメッセージが出ていません。フォームは「確認」をクリックするとハングアップします。
どのように 'このフォームは必須ですか?'ラジオの質問のメッセージ?繰り返しますが、これらの質問はハードコードされていないので、HTMLにオプションを追加するのと同じくらい単純ではありません。
はい、私はrequired:trueを使用してみました。選択して素晴らしい作品が、これをbuttons.Tryingラジオが動作していないよう:
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';
}
}]
}]);
私は次のエラーを取得する:
これは、このラジオボタンを持つオプションではありません信じるように私を導きました。ただし、このエラーを間違って解釈している場合は、お知らせください。 :)
誰かがコードサンプルをリクエストしました。コードベースの多くのコードは独自のものです。しかし、私はDBから戻ってきた質問に使用するテンプレートを以下に含めました。私が本当に不思議なのは、以前誰かがこの問題に遭遇したかどうか、また文書化された設定オプションがあるか、それとも非常に簡単なハックがあるかということです。それ以外の場合は、コントローラの機能でこれを検出する方法を検討します。 DBから戻ってくる
****ないすべての質問が必要になります!
<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>
返信いただきありがとうございますが、フォームはハードコードされていません。むしろ、DBから動的に作成されます。 –
フォームを制御できないため、jsパーツで手動で検証し、メッセージをオブジェクトに注入することができます。 –