Здравствуйте! На странице в зависимости от входящих с сервера данных формируется форма с разного типа инпутами. Возникло 2 проблемы:
1. Так как нет возможности работать с элементами формы через имена то не совсем понятно как эту форму валидировать.
2. данные на сервер отпрявляются через сервис который принимает их в определенном формате:
{
“ThreadId”:[int],
“QuestionId”:[int],
“ResponseText”:”[string]”,
“OptionId”:[int],
“ColumnId”:[int],
“FileId”:[int],
“SortOrder”:[int]
}
и это нужно сформировать для каждого элемента формы. Возникли трудности с формированием такого массива данных. пробую через директиву, но не все получается пока. Не совсем понятно как можно используя angular обойти все элементы формы.
небольшой пример элементов формы:
<!--text box QuestionTypeId === 1 -->
<div class="input-holder text-input validate" ng-if="question.QuestionTypeId === 1">
<p class="quest"><strong>{{question.QuestionText}}</strong></p>
<div class="form-group">
<input type="text"
class="form-control input has-help-txt"
placeholder="Write text here.."
required
fix-input-name=""
name="{{question.QuestionId}}"
ng-model="name.ResponseText"
init-respond=""
threadid="threadID"
questionid="question.QuestionId"
responsetext="name.ResponseText"
optionid="0"
columnid="0"
fileid="0"
sortorder="0"
elemindex="$index">
<!--<span class="error-message">This field is required</span>-->
</div>
</div><!--text input-->
<!--radio QuestionTypeId === 6 -->
<div class="radio-input input-holder validate" ng-if="question.QuestionTypeId === 6">
<p class="quest"><strong>{{question.QuestionText}}</strong></p>
<div class="row">
<div class="col-md-2 col-xs-3 text-center" ng-repeat="img in question.QuestionOptions">
<img class="img-responsive radio-img" src="{{img.File.FileURL}}" class="img-rounded">
<div class="radio text-center">
<input type="radio"
id="{{question.QuestionId}}"
value="{{img.File.FileId}}"
required
fix-input-name=""
name="{{question.QuestionId}}"
ng-model="name.OptionId"
init-respond=""
threadid="threadID"
questionid="question.QuestionId"
responsetext=""
optionid="question.QuestionId"
columnid="0"
fileid="name.OptionId"
sortorder="0"
elemindex="$index">
<label for="{{question.QuestionId}}"></label>
</div>
</div>
<div class="clearfix"></div>
</div>
<br>
<span class="error-message">This is an error message</span>
</div><!--end radio QuestionTypeId === 6 -->
Буду очень признателен за любую подсказку. Заранее спасибо.