I have two inputs one for min and the other for max value.
How can I add validation so the min < max?
<div class="form-group">
<label class="control-label"> Montant minimum</label>
<input id="min" class="form-control" type="number" ng-model="type.minMontant" required/>
</div>
<div class="form-group">
<label class="control-label"> Montant maximum</label>
<input id="max" class="form-control" type="number" ng-model="type.maxMontant" required/>
</div>
And then when I'll try to pick a value, it must be in [min,max] ?
Not Sure if this is wat you want
if you want validation messages to show then you have to use angular-messages
<div ng-app>
<div class="form-group">
<label class="control-label"> Montant minimum</label>
<input id="min" class="form-control" type="number" min="0" max="{{maxMontant}}" ng-model="minMontant" required/>
</div>
<div class="form-group">
<label class="control-label"> Montant maximum</label>
<input id="max" class="form-control" type="number" max="10" ng-model="maxMontant" required/>
</div>
</div>
add min and max attiribute(html5)
<div class="form-group">
<label class="control-label"> Montant minimum</label>
<input id="min" class="form-control" type="number" ng-model="type.minMontant" min="0" required/>
</div>
<div class="form-group">
<label class="control-label"> Montant maximum</label>
<input id="max" class="form-control" type="number" ng-model="type.maxMontant" max="10" required/>
</div>
You can have custom validators to check integrity of range and then check the input value with available range.
Following is a simulation of it:
JSFiddle
$scope.validate = function() {
var valid = $scope.validateMin() && $scope.validateMax();
if (valid) {
if ($scope.type.value >= $scope.type.min &&
$scope.type.value <= $scope.type.max) {
alert("Correct Value")
} else {
alert("Out of range");
}
} else {
alert("Incorrent range values entered");
}
}
Related
Hi i am learner in angularJS and in my form i have name and email fields and one radio group for gender selection and my requirement is when i select male then name field is required and if i select female then email field is required
I have tried below code but its not working can some one help me please
code:
<form class="form-horizontal alert alert-warning" name="empList" id="empForm" ng-submit="insertInfo(empInfo)">
<h3 class="text-center">Insert Employee Details Into Database</h3>
<div class="form-group">
<label for="Name">Employee Name:</label>
<input type="text" name="emp_name" class="form-control" placeholder="Enter Employee Name" ng-model="empInfo.name"
required="gender.value=='male'" />
</div>
<div class="form-group">
<p class="text-danger" ng-show="empList.emp_name.$invalid">Name field is Empty!</p>
</div>
<div class="form-group">
<label for="Email">Email Address:</label>
<input type="email" name="emp_email" class="form-control" placeholder="Enter Employee Email Address" ng-model="empInfo.email"
autofocus required="gender.value=='female'"/>
</div>
<div class="form-group">
<p class="text-danger" ng-show="empList.emp_email.$invalid>Invalid Email!</p>
</div>
<div class="form-group">
<label for="Gender">Gender:</label>
<label for="" class="radio-inline gender">
<input type="radio" name="emp_gender" value="male" ng-model="empInfo.gender" #gender="ng-model">Male
</label>
<label for="" class="radio-inline gender">
<input type="radio" name="emp_gender" value="female" ng-model="empInfo.gender" #gender="ng-model">Female
</label>
</div>
</form>
Maybe try with that validation:
HTML :
<form class="form-horizontal alert alert-warning" name="empList" id="empForm" ng-submit="insertInfo(empInfo)">
<h3 class="text-center">Insert Employee Details Into Database</h3>
<div class="form-group">
<label for="Name" ng-show="empInfo.gender != male_value">Employee Name is required</label>
<input type="text" name="emp_name" class="form-control" placeholder="Enter Employee Name" ng-model="empInfo.name"
required="gender.value=='male'" />
</div>
<div class="form-group">
<p class="text-danger" ng-show="empList.emp_name.$invalid">Name field is Empty!</p>
</div>
<div class="form-group">
<label for="Email" ng-show="empInfo.gender == male_value">Email Address is rquired</label>
<input type="email" name="emp_email" class="form-control" placeholder="Enter Employee Email Address" ng-model="empInfo.email"
required="gender.value=='female'"/>
</div>
<div class="form-group">
<p class="text-danger" ng-show="empList.emp_email.$invalid">Invalid Email!</p>
</div>
<div class="form-group">
<label for="Gender">Gender:</label>
<label for="" class="radio-inline gender">
<input type="radio" name="emp_gender" ng-value="male_value" ng-model="empInfo.gender">Male
</label>
<label for="" class="radio-inline gender">
<input type="radio" name="emp_gender" ng-value="female" ng-model="empInfo.gender" >Female
</label>
</div>
</form>
JS:
$scope.male_value = 'male';
plunker: http://plnkr.co/edit/Hi5t1gU5TIdNx670wHo1?p=preview
I want to validate all the fields in this form by angular, but it is not working. I am new to angular and cant find what the problem is. None of the field in this form is being validated
<form class="form-horizontal" role="form" name="commentForm" ng-submit="submitComment()" novalidate>
<div class="form-group" ng-class="{'has-error': commentForm.name.$error.required && !commentForm.name.$pristine}">
<label for="name" class="col-xs-2">Your Name</label>
<div class="col-xs-10">
<input type="text" class="form-control" name="name" id="name" placeholder="Enter Your Name" ng-model="dishComment.author">
<span class="help-block" ng-show="commentForm.name.$error.required && !commentForm.name.$pristine">Your Name is Required</span>
</div>
</div>
<div class="form-group">
<label for="rating" class="col-xs-2">Number of Stars</label>
<div class="col-xs-10">
<label class="radio-inline">
<input type="radio" name="rating" id="rating" value="1" ng-model="dishComment.rating"> 1
</label>
<label class="radio-inline">
<input type="radio" name="rating" id="rating" value="2" ng-model="dishComment.rating"> 2
</label>
<label class="radio-inline">
<input type="radio" name="rating" id="rating" value="3" ng-model="dishComment.rating"> 3
</label>
<label class="radio-inline">
<input type="radio" name="rating" id="rating" value="4" ng-model="dishComment.rating"> 4
</label>
<label class="radio-inline">
<input type="radio" name="rating" id="rating" value="5" ng-model="dishComment.rating"> 5
</label>
</div>
</div>
<div class="form-group" class="{'has-error': commentForm.comments.$error.required && !commentForm.comments.$pristine}">
<label for="comments" class="col-xs-2">Your comments</label>
<div class="col-xs-10">
<textarea class="form-control" id="comments" name="comments" rows="12" ng-model="dishComment.comment"></textarea>
<span class="help-block" ng-show="commentForm.comments.$error.required && !commentForm.comments.$pristine">Please Write a comment</span>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary" ng-disabled="commentForm.$invalid">Submit Comment</button>
</div>
</div>
</form>
I think you only missed required in input element.
<input type="text" class="form-control" name="name" id="name" placeholder="Enter Your Name" ng-model="dishComment.author" required>
I just added required for one input element and its working.
Please check jsfiddle
I am using input fields, something like below structure. as Nitish said, you must need to write required in input element.
AppForm is a form name.
<md-input-container flex="50" flex-gt-xs="33" md-is-error="AppForm.txtApplicationUrl.$invalid && (AppForm.$submitted || AppForm.txtApplicationUrl.$dirty)">
<label for="input_0">Your label</label>
<input type="text" ng-model="applicationDetails.Applicationurl" name="txtApplicationUrl" tabindex="0" id="txtApplicationUrl" aria-invalid="false" required><div class="md-errors-spacer"></div>
<div ng-messages="AppForm.txtApplicationUrl.$error" ng-if="AppForm.$submitted || AppForm.txtApplicationUrl.$touched">
<div ng-message="required">Custom Message</div>
</div>
</md-input-container>
I have a checkbox as following :
<input type="checkbox" name="bacLibre" id="bacLibre" ng-model="bacLibre">
and other inputs as following :
<div id="bacSection" ng-show="!bacLibre">
<div class="row">
<div class="form-group col-md-6">
<label for="regionalScore">
{{'FME_CANDIDATURE.EDUCATION_INFORMATIONS.REGIONAL_SCORE' | translate}}:
</label>
<input type="number" min="0" max="20" step="0.01" name="regionalScore" id="regionalScore" class="form-control input-lg"
ng-model="candidature.regionalScore"
required>
</div>
<div class="form-group col-md-6">
<label for="bacSecondYearFirstSemScore">
{{'FME_CANDIDATURE.EDUCATION_INFORMATIONS.BAC_SECOND_YEAR_FIRST_SEM_SCORE' | translate}}:
</label>
<input type="number" min="0" max="20" step="0.01" name="bacSecondYearFirstSemScore" id="bacSecondYearFirstSemScore"
class="form-control input-lg"
ng-model="candidature.bacSecondYearFirstSemScore"
required>
</div>
</div>
</div>
as you can see all the inputs are required I want when I check that checkbox to change the state of all the inputs in that <div id="bacSection"> to not required, and then when I uncheck that checkbox to make all the inputs required.
how can I do this ?
Angular has a directive ng-required, use that on the input with a expression that gets changed
<<input type="number" min="0" max="20" step="0.01" name="bacSecondYearFirstSemScore" id="bacSecondYearFirstSemScore"
class="form-control input-lg"
ng-model="candidature.bacSecondYearFirstSemScore"
ng-required='bacLibre'>
I have a form with credit card fields and billing address fields. It's bound to some angular models and works beautifully, until I try to fill in the form fields with password managers (I tried 1Password and RoboForm).
With the form below, I see the following behavior:
1Password: credit card info is entered correctly, but it also puts in the credit card number in the name, company, and street address fields, and the expiration month in city and state.
RoboForm: fills the CVC field with the expiration year and the zip code field with the state
Here is the form:
<form class="form" rc-submit="submitCC()" name="ccForm" id="ccForm" novalidate>
<div class="cardback">
<div class="title">Credit Card Details</div>
<div class="form-row with-label" ng-class="{'has-error': numberInvalid || (ccForm.ccNumber.$invalid && rc.ccForm.attempted)}">
<input id="cc-number" class="form-control" type="text" name="ccNumber" ng-model="card.number" data-stripe="number" required size="20" autocomplete="cc-number" />
<label class="form-label">card number</label>
<div class="validation-error" ng-show="numberInvalid">the credit card number is invalid</div>
</div>
<div class="form-row for-inline">
<div class="form-row inline with-label month" ng-class="{'has-error': ccForm.ccExpMonth.$invalid && rc.ccForm.attempted}">
<select id="cc-exp-month" class="form-control" ng-model="card.expMonth" name="ccExpMonth" data-stripe="exp-month" ng-options="m for m in expMonths" required autocomplete="cc-exp-month">
<option value="">MM</option>
</select>
<label class="form-label">exp month</label>
<div class="select-arrow"></div>
</div>
<div class="form-row inline with-label year" ng-class="{'has-error': ccForm.ccExpYear.$invalid && rc.ccForm.attempted}">
<select id="cc-exp-year" class="form-control" ng-model="card.expYear" name="ccExpYear" data-stripe="exp-year" ng-options="y for y in expYears" required autocomplete="cc-exp-year">
<option value="">YYYY</option>
</select>
<label class="form-label">exp year</label>
<div class="select-arrow"></div>
</div>
<div class="form-row inline with-label cvc" ng-class="{'has-error': ccForm.ccCsc.$invalid && rc.ccForm.attempted}">
<input id="csc" class="form-control" type="text" name="csc" ng-model="card.cvc" data-stripe="cvc" required size="4" autocomplete="cc-csc"/>
<label class="form-label">cvc</label>
</div>
<!--
<input id="cc-csc" class="form-control" type="text" name="ccCsc" ng-model="card.cvc" data-stripe="cvc" required size="4" autocomplete="cc-csc"/>
<input id="securityCode" class="form-control" type="text" name="securityCode" ng-model="card.cvc" data-stripe="cvc" required size="4" autocomplete="cc-csc"/>
<input id="csc" class="form-control" type="text" name="csc" ng-model="card.cvc" data-stripe="cvc" required size="4" autocomplete="cc-csc"/>
<input id="cvc" class="form-control" type="text" name="cvc" ng-model="card.cvc" data-stripe="cvc" required size="4" autocomplete="cc-csc"/>
<input id="cardCode" class="form-control" type="text" name="cardCode" ng-model="card.cvc" data-stripe="cvc" required size="4" autocomplete="cc-csc"/>
<input id="code" class="form-control" type="text" name="code" ng-model="card.cvc" data-stripe="cvc" required size="4" autocomplete="cc-csc"/>
-->
</div>
</div>
<div class="billing-title">Billing Address</div>
<div class="form-row with-label" ng-class="{'has-error': ccForm.name.$invalid && rc.ccForm.attempted}">
<input id="name" class="form-control" type="text" name="name" required ng-model="card.billingName" autocomplete="name"/>
<label class="form-label">name</label>
<div class="validation-error" ng-show="ccForm.name.$invalid && rc.ccForm.attempted">name required</div>
</div>
<div class="form-row with-label" ng-class="{'has-error': ccForm.organization.$invalid && rc.ccForm.attempted}">
<input id="organization" class="form-control" type="text" name="organization" ng-model="card.billingCompany" autocomplete="organization"/>
<label class="form-label">company (optional)</label>
</div>
<div class="form-row with-label" ng-class="{'has-error': ccForm.addressLine1.$invalid && rc.ccForm.attempted}">
<input id="address-line1" class="form-control" type="text" name="addressLine1" required ng-model="card.billingAddress" autocomplete="address-line1"/>
<label class="form-label">street address</label>
<div class="validation-error" ng-show="ccForm.addressLine1.$invalid && rc.ccForm.attempted">address required</div>
</div>
<div class="form-row with-label" ng-class="{'has-error': ccForm.addressCity.$invalid && rc.ccForm.attempted}">
<input id="address-level2" class="form-control" type="text" name="addressCity" required ng-model="card.billingCity" autocomplete="address-level2"/>
<label class="form-label">city</label>
<div class="validation-error" ng-show="ccForm.addressCity.$invalid && rc.ccForm.attempted">city required</div>
</div>
<div class="form-row for-inline">
<div class="form-row inline with-label state" ng-class="{'has-error': ccForm.state.$invalid && rc.ccForm.attempted}">
<input id="address-level1" class="form-control" type="text" name="state" ng-model="card.billingState" autocomplete="address-level1"/>
<label class="form-label">state</label>
</div>
<div class="form-row inline with-label zip" ng-class="{'has-error': ccForm.postalCode.$invalid && rc.ccForm.attempted}">
<input id="zip" class="form-control" type="text" name="zip" required ng-model="card.billingZip" autocomplete="postal-code"/>
<label class="form-label">zip</label>
<div class="validation-error" ng-show="ccForm.postalCode.$invalid && rc.ccForm.attempted">zip required</div>
</div>
<!--
<input id="postal-code" class="form-control" type="text" name="postalCode" required ng-model="card.billingZip" autocomplete="postal-code"/>
<input id="zipCode" class="form-control" type="text" name="zipCode" required ng-model="card.billingZip" autocomplete="postal-code"/>
<input id="zip" class="form-control" type="text" name="zip" required ng-model="card.billingZip" autocomplete="postal-code"/>
-->
<div class="form-row inline with-label country" ng-class="{'has-error': ccForm.countryName.$invalid && rc.ccForm.attempted}">
<input id="country-name" class="form-control" type="text" name="countryName" value="USA" required ng-model="card.billingCountry" autocomplete="country-name"/>
<label class="form-label">country</label>
<div class="validation-error" ng-show="ccForm.countryName.$invalid && rc.ccForm.attempted">country required</div>
</div>
</div>
<div class="form-row spaced">
<button class="constructive" type="submit" ng-disabled="ccInProgress">confirm payment</button>
</div>
</form>
I tried several different ways to format the fields, including various name and id attributes, as well as the autocomplete field as defined here: https://html.spec.whatwg.org/multipage/forms.html#autofill. Chrome seems to understand the autocomplete attribute pretty well.
I also tried adding multiple variations of the CVC and zip code fields for testing, and if I have a multitude of these fields, RoboForm works correctly. But as soon as I remove all but any one of those fields, it stops working.
Any experience with that or links to documentation would be greatly appreciated.
1Password will respect HTML's autofill spec so <input type="text" id="ccexp" autocomplete="cc-exp" /> will hint 1Password to fill the selected credit card's expiry.
Having proper labels is helpful, you can either use <label for="ccexp">Expiry Date:</label><input type="text" id="ccexp" ...> or <label>Expiry Date: <input type="text" ...></label>.
autocomplete is preferred since it will help with more than just 1Password's filling.
Objective : Only want user to click once not multiple times on a rating system
<div class="votingButton" ng-click="upVoteOrder(order)">
</div>
is this easily achievable on the html or the controller ?
Have a scope variable to check if the Vote button is clicked..! if once clicked update the scope variable so that it gets disabled. The scope variable can be an attribute in the user model so that it carries ahead.
Try this:
<button class="votingButton" ng-click="upVoteOrder(order)" ng-disabled="buttonClicked"></button>
and inside the upVoteOrder function add:
$scope.buttonClicked = true;
A simple way is to add key and value to the order object in the controller. <button type="button" ng-click="upVoteOrder(order)">vote up</button>
///ctrl.js
$scope.upVoteOrder = function (order) {
var voted = true;
var votedValue = 'Up vote complete!';
order.voted = voted;
order.votedValue = votedValue;
}
if order.voted is true disabled the button
<!-- index.html -->
<div>
<button type="button" ng-click="upVoteOrder(order)" ng-disabled="order.voted">vote up</button>
<p ng-if="order.voted">{{ order.votedValue }}. Thank you for voting!</p>
</div>
You can use us ng-if to hide the html altogether once a click is registered. That way, you don't need to create a button to benefit from what ng-disabled does. The Angular 2 way of doing it is:
<div *ngIf="upVoted(order)"...
Use a function that returns true for index value of your *ngFor loop.
<div class="container ">
<div class="row">
<div class="col-md-3"></div>
<div class="col-md-6">
<form #ref="ngForm" (ngSubmit)="addfirst(ref3.value)">
<!-- GENERAL -->
<div *ngIf="!b"> <h3 class="text-primary">GENERAL</h3>
<div class="form-group">
<label>EMP NUMBER</label>
<input type="number" class="form-control round3 " id="empno" placeholder=" Emp Number"
name="empnober" ngModel #ref1="ngModel" required>
<label *ngIf="ref1.invalid && ref1.touched ">
<div class="text-danger"> *emp num field is mandatory </div>
</label>
</div>
<div class="form-group">
<label> FIRST NAME</label>
<input type="text" class="form-control round3 " id="firstname" placeholder="FIRST NAME" name="firstname"
ngModel #ref2="ngModel" required>
<label *ngIf="ref2.invalid && (ref2.dirty || ref2.touched )">
<div class="text-danger"> *firstname field is mandatory </div>
</label>
</div>
<div class="form-group">
<div class="LAST NAME">
<label>LAST NAME </label>
<input type="text" class="form-control round3 " id="lastname" placeholder="LAST NAME " name="lastname" ngModel
#ref3="ngModel" required>
<label *ngIf="ref3.invalid && (ref3.dirty || ref3.touched )">
<div class="text-danger"> *last name field is mandatory </div>
</label>
</div>
</div>
<div class="form-group">
<label> MIDDLE NAME </label>
<input type="text" class="form-control round3 " id="middlename" placeholder="MIDDLE NAME " name="middlename" ngModel
#ref4="ngModel" required>
<label *ngIf="ref4.invalid && (ref4.dirty || ref4.touched )">
<div class="text-danger"> *middle name field is mandatory </div>
</label>
</div>
<div class="form-group">
<label> ADDRESS </label>
<input type="text" class="form-control round3 " id="address" placeholder="ADDRESS" name="address" ngModel
#ref5="ngModel" required>
<label *ngIf="ref5.invalid && (ref5.dirty || ref5.touched )">
<div class="text-danger"> *address field is mandatory </div>
</label>
</div>
<div class="form-group">
<label> ADDRESS 2 </label>
<input type="text" class="form-control round3 " id="address2" placeholder="ADDRESS 2" name="address2" ngModel
#ref6="ngModel" required>
<label *ngIf="ref6.invalid && (ref6.dirty || ref6.touched )">
<div class="text-danger"> *address2 field is mandatory </div>
</label>
</div>
<!-- <div class="text-right">
Next ยป
</div> -->
<div >
<div class="form-group">
<label> POST CODE </label>
<input type="number" class="form-control round3 " id="postcode" placeholder=" POSTCODE " name="postcode" ngModel
#ref7="ngModel" required>
<label *ngIf="ref7.invalid && (ref7.dirty || ref7.touched )">
<div class="text-danger"> *postcode field is mandatory </div>
</label>
</div>
<div class="form-group">
<label> CITY </label>
<input type="text" class="form-control round3 " id="city" placeholder="CITY " name="city" ngModel
#ref8="ngModel" required>
<label *ngIf="ref8.invalid && (ref8.dirty || ref8.touched )">
<div class="text-danger"> *city field is mandatory </div>
</label>
</div>
<div class="form-group">
<label> PHONE NUMBER </label>
<input type="number" class="form-control round3 " id="phnumber" placeholder="PHONE NUMBER " name="phnumber" ngModel
#ref9="ngModel" required>
<label *ngIf="ref9.invalid && (ref9.dirty || ref9.touched )">
<div class="text-danger"> *phone number field is mandatory </div>
</label>
</div>
<div class="form-group">
<label> MOBILE NUMBER </label>
<input type="number" class="form-control round3 " id="mblnumber" placeholder="MOBILE NUMBER " name="mblnumber" ngModel
#ref10="ngModel" required>
<label *ngIf="ref10.invalid && (ref10.dirty || ref10.touched )">
<div class="text-danger"> *mobilenumber field is mandatory </div>
</label>
</div>
<div class="form-group">
<label> REPORTING TO </label>
<input type="text" class="form-control round3 " id="reportingto" placeholder=" REPORTING TO " name="reportingto" ngModel
#ref11="ngModel" required>
<label *ngIf="ref11.invalid && (ref11.dirty || ref11.touched )">
<div class="text-danger"> *reporting to field is mandatory </div>
</label>
</div>
<div class="form-group">
<label> REPORTING NAME </label>
<input type="text" class="form-control round3 " id="reportingname" placeholder="REPORTING NAME" name="reportingname" ngModel
#ref12="ngModel" required>
<label *ngIf="ref12.invalid && (ref12.dirty || ref12.touched )">
<div class="text-danger"> *reporting name field is mandatory </div>
</label>
</div>
<div class="form-group">
<label> GENDER </label>
<input type="radio" value="male" name="gender" [(ngModel)]="gender" #ref13="ngModel" required #genderControl="ngModel"> Male
<input type="radio" value="female" name="gender" [(ngModel)]="gender" #ref13="ngModel" required> Female
<input type="radio" value="others" name="gender" [(ngModel)]="gender" #ref13="ngModel" required> others
<label *ngIf="ref13.invalid && (ref13.dirty || ref13.untouched )">
<div class="text-danger"> *select gender mandatory </div>
</label>
</div>
<div class="form-group">
<label> LOCATION CODE </label>
<input type="text" class="form-control round3 " id="lctncode" placeholder="LOCATION CODE" name="lctncode" ngModel
#ref14="ngModel" required>
<label *ngIf="ref14.invalid && (ref14.dirty || ref14.touched )">
<div class="text-danger"> *location code field is mandatory </div>
</label>
</div>
<div class="text-right">
<button class="btn btn-success" type="button" (click)="next()">Next</button> </div>
</div>
</div>
</form>
<!-- COMMUNICATION -->
<form #ref1="ngForm">
<div *ngIf="b && !communication" >
<h3 class="text-primary">COMMUNICATION</h3>
<div class="form-group">
<label> PHONE NUMBER </label>
<input type="number" class="form-control round3 " id="phnumber" placeholder="PHONE NUMBER " name="phnumber" ngModel
#ref15="ngModel" required>
<label *ngIf="ref15.invalid && (ref15.dirty || ref15.touched )">
<div class="text-danger"> *phone number field is mandatory </div>
</label>
</div>
<div class="form-group">
<label> MOBILE NUMBER </label>
<input type="number" class="form-control round3 " id="mblnumber" placeholder="MOBILE NUMBER " name="mblnumber" ngModel
#ref16="ngModel" required>
<label *ngIf="ref16.invalid && (ref16.dirty || ref16.touched )">
<div class="text-danger"> *mobilenumber field is mandatory </div>
</label>
</div>
<div class="form-group">
<label> E-MAIL </label>
<input type="email" class="form-control round3 " id="email" placeholder="E-MAIL ADDRESS" name="email" ngModel
#ref17="ngModel" required>
<label *ngIf="ref17.invalid && (ref17.dirty || ref17.touched )">
<div class="text-danger"> *email field is mandatory </div>
</label>
</div>
<div class="form-group">
<label> COMPANY E-MAIL </label>
<input type="email" class="form-control round3 " id="cemail" placeholder="COMPANY E-MAIL ADDRESS" name="cemail" ngModel
#ref18="ngModel" required>
<label *ngIf="ref18.invalid && (ref18.dirty || ref18.touched )">
<div class="text-danger"> *company email field is mandatory </div>
</label>
</div>
<div class="text-right">
<button class="btn btn-success" type="button" (click)="secondNext()">Next</button>
</div>
</div>
</form>
<!-- ADMINISTRATION -->
<form #ref2="ngForm">
<div *ngIf="communication && !administration">
<h3 class="text-primary">ADMINISTRATION</h3>
<div class="form-group">
<label>DESIGNATION </label>
<input type="text" class="form-control round3 " id="designation" placeholder="DESIGNATION" name="designation" ngModel
#ref19="ngModel" required>
<label *ngIf="ref19.invalid && (ref19.dirty || ref19.touched )">
<div class="text-danger"> *designation field is mandatory </div>
</label>
</div>
<div class="form-group">
<label>QUALIFICATION </label>
<input type="text" class="form-control round3 " id="qualification" placeholder="QUALIFICATION" name="qualification" ngModel
#ref20="ngModel" required>
<label *ngIf="ref19.invalid && (ref20.dirty || ref20.touched )">
<div class="text-danger"> *qualification field is mandatory </div>
</label>
</div>
<div class="form-group">
<label>HEIGHT </label>
<input type="number" class="form-control round3 " id="height" placeholder="HEIGHT" name="height" ngModel
#ref21="ngModel" required>
<label *ngIf="ref21.invalid && (ref21.dirty || ref21.touched )">
<div class="text-danger"> *height field is mandatory </div>
</label>
</div>
<div class="form-group">
<label> WEIGHT </label>
<input type="number" class="form-control round3 " id="weight" placeholder="WEIGHT" name="weight" ngModel
#ref22="ngModel" required>
<label *ngIf="ref22.invalid && (ref22.dirty || ref22.touched )">
<div class="text-danger"> *weight field is mandatory </div>
</label>
</div>
<div class="form-group">
<label> EXPERIENCE </label>
<input type="number" class="form-control round3 " id="experience" placeholder="EXPERIENCE" name="experience" ngModel
#ref23="ngModel" required>
<label *ngIf="ref23.invalid && (ref23.dirty || ref23.touched )">
<div class="text-danger"> *experience field is mandatory </div>
</label>
</div>
<div class="text-right">
<button class="btn btn-success" type="button" (click)="thirdNext()">Next</button>
</div>
</div>
</form>
<!-- PERSONAL -->
<form #ref2="ngForm">
<div *ngIf="administration && !paymethod">
<h3 class="text-primary" >PERSONAL</h3>
<div class="form-group">
<label> DATE OF BIRTH</label>
<input type="date" class="form-control round3 " id="dob" placeholder="DATE OF BIRTH" name="dob" ngModel
#ref24="ngModel" required>
<label *ngIf="ref24.invalid && (ref24.dirty || ref24.touched )">
<div class="text-danger"> *date of birth field is mandatory </div>
</label>
</div>
<div class="form-group">
<label> FATHER/HUSBAND NAME </label>
<input type="text" class="form-control round3 " id="fhname" placeholder="FATHER/HUSBAND NAME" name="fhname" ngModel
#ref25="ngModel" required>
<label *ngIf="ref25.invalid && (ref25.dirty || ref25.touched )">
<div class="text-danger"> *father/husband field is mandatory </div>
</label>
</div>
<div class="form-group">
<label> CURRENT AGE (YEARS)</label>
<input type="number" class="form-control round3 " id="cage" placeholder="CURRENT AGE (YEARS)" name="cage" ngModel
#ref26="ngModel" required>
<label *ngIf="ref26.invalid && (ref26.dirty || ref26.touched )">
<div class="text-danger"> *current age (years) field is mandatory </div>
</label>
</div>
<div class="form-group">
<label> CURRENT AGE (MONTHS)</label>
<input type="number" class="form-control round3 " id="cagem" placeholder="CURRENT AGE (MONTHS)" name="cagem" ngModel
#ref27="ngModel" required>
<label *ngIf="ref27.invalid && (ref27.dirty || ref27.touched )">
<div class="text-danger"> *current age (months) field is mandatory </div>
</label>
</div>
<div class="form-group">
<label> BLOOD GROUP</label>
<input type="text" class="form-control round3 " id="bloodgrp" placeholder="BLOOD GROUP" name="bloodgrp" ngModel
#ref28="ngModel" required>
<label *ngIf="ref28.invalid && (ref28.dirty || ref28.touched )">
<div class="text-danger"> *bloodgroup field is mandatory </div>
</label>
</div>
<div class="form-group">
<label> NATIONALITY</label>
<input type="text" class="form-control round3 " id="nationality" placeholder="NATIONALITY" name="nationality" ngModel
#ref29="ngModel" required>
<label *ngIf="ref29.invalid && (ref29.dirty || ref28.touched )">
<div class="text-danger"> *nationality field is mandatory </div>
</label>
</div>
<div class="form-group">
<label> PRESENT ADDRESS </label>
<input type="text" class="form-control round3 " id="paddress" placeholder="PRESENT ADDRESS" name="paddress" ngModel
#ref30="ngModel" required>
<label *ngIf="ref30.invalid && (ref30.dirty || ref30.touched )">
<div class="text-danger"> *presentaddress field is mandatory </div>
</label>
</div>
<div class="form-group">
<label>PRESENT ADDRESS 2 </label>
<input type="text" class="form-control round3 " id="paddress2" placeholder="PRESENT ADDRESS 2" name="paddress2" ngModel
#ref31="ngModel" required>
<label *ngIf="ref31.invalid && (ref31.dirty || ref31.touched )">
<div class="text-danger"> *presentaddress2 field is mandatory </div>
</label>
</div>
<div class="form-group">
<label>PRESENT CITY</label>
<input type="text" class="form-control round3 " id="pcity" placeholder="PRESENT CITY" name="pcity" ngModel
#ref32="ngModel" required>
<label *ngIf="ref32.invalid && (ref32.dirty || ref32.touched )">
<div class="text-danger"> *presentcity field is mandatory </div>
</label>
</div>
<div class="form-group">
<label>PRESENT POST CODE </label>
<input type="number" class="form-control round3 " id="pccode" placeholder="PRESENT CITY CODE" name="pccode" ngModel
#ref33="ngModel" required>
<label *ngIf="ref33.invalid && (ref33.dirty || ref33.touched )">
<div class="text-danger"> *presentcitycode field is mandatory </div>
</label>
</div>
<div class="form-group">
<label>PRESENT COUNTRY</label>
<input type="text" class="form-control round3 " id="pcountry" placeholder="PRESENT COUNTRY" name="pcountry" ngModel
#ref34="ngModel" required>
<label *ngIf="ref34.invalid && (ref34.dirty || ref34.touched )">
<div class="text-danger"> *presentcountry field is mandatory </div>
</label>
</div>
<div class="form-group">
<label>PRESENT PHONE NUMBER</label>
<input type="number" class="form-control round3 " id="pphnno" placeholder="PRESENT PHONE NUMBER" name="pphnno" ngModel
#ref35="ngModel" required>
<label *ngIf="ref35.invalid && (ref35.dirty || ref35.touched )">
<div class="text-danger"> *presentphonenumber field is mandatory </div>
</label>
</div>
<div class="form-group">
<label>ADDHAAR NUMBER</label>
<input type="number" class="form-control round3 " id="aadhaar" placeholder="ADDHAAR NUMBER" name="aadhaar" ngModel
#ref36="ngModel" required>
<label *ngIf="ref36.invalid && (ref36.dirty || ref36.touched )">
<div class="text-danger"> *aadhaar field is mandatory </div>
</label>
</div>
<div class="form-group">
<label> PAN NUMBER </label>
<input type="text" class="form-control round3 " id="pannumber" placeholder=" PAN NUMBER " name="pannumber" ngModel
#ref41="ngModel" required>
<label *ngIf="ref41.invalid && (ref41.dirty || ref41.touched )">
<div class="text-danger"> *pan number field is mandatory </div>
</label>
</div>
<div class="text-right">
<button class="btn btn-success" type="button" (click)="fourthNext()">Next</button>
</div>
</div>
</form>
<form #ref3="ngForm">
<!-- pay method -->
<div *ngIf="paymethod">
<h3 class="text-primary"> PAY METHOD </h3>
<div class="form-group">
<label> BANK NAME </label>
<input type="text" class="form-control round3 " id="bankname" placeholder="BANK NAME" name="bankname" ngModel
#ref37="ngModel" required>
<label *ngIf="ref37.invalid && (ref37.dirty || ref37.touched )">
<div class="text-danger"> *bankname field is mandatory </div>
</label>
</div>
<div class="form-group">
<label> BANK IFSC CODE </label>
<input type="text" class="form-control round3 " id="bankifsccode" placeholder="BANK IFSC CODE" name="bankifsccode" ngModel
#ref38="ngModel" required>
<label *ngIf="ref38.invalid && (ref38.dirty || ref38.touched )">
<div class="text-danger"> *bankifsccode field is mandatory </div>
</label>
</div>
<div class="form-group">
<label> ACCOUNT TYPE</label>
<input type="text" class="form-control round3 " id="accounttype" placeholder="ACCOUNT TYPE" name="accounttype" ngModel
#ref39="ngModel" required>
<label *ngIf="ref39.invalid && (ref39.dirty || ref39.touched )">
<div class="text-danger"> *accounttype field is mandatory </div>
</label>
</div>
<div class="form-group">
<label> ACCOUNT NUMBER </label>
<input type="text" class="form-control round3 " id="accountnumber" placeholder=" ACCOUNT NUMBER " name="accountnumber" ngModel
#ref40="ngModel" required>
<label *ngIf="ref40.invalid && (ref40.dirty || ref40.touched )">
<div class="text-danger"> *accountnumber field is mandatory </div>
</label>
</div>
<div class="text-right">
<button class="btn btn-success" type="submit">submit</button>
</div>
</div>
</form>
</div>