I have to create AngularJS project. In this I have one html page name is addNewHost.html
My addNewHost.html code is given below
<md-content class="md-padding" ng-controller="AddNewHostController as vm">
<form name="hostForm" ng-submit="vm.AddNewHost($event)" novalidate>
<md-content md-theme="dark" class="md-padding" layout="row" layout-sm="column">
<md-input-container>
<label>Hostame</label>
<input ng-model="vm.service.hostname" required>
</md-input-container>
<md-input-container>
<label>IP Address</label>
<input ng-model="vm.service.ipaddress" required>
</md-input-container>
<md-input-container>
<label>Alias</label>
<input ng-model="vm.service.alias" required>
</md-input-container>
</md-content>
<md-content class="md-padding">
<div layout layout-sm="column">
<md-input-container flex>
<input ng-model="vm.service.check_command" placeholder="Check Command" required>
</md-input-container>
<md-input-container flex>
<select class="ng-pristine ng-valid md-input ng-empty ng-touched" ng-model="vm.service.notification_period"
name="notification_period" required>
<option value="">Select notification period</option>
<option value="24x7">24x7</option>
</select>
</md-input-container>
<md-input-container flex>
<label>Max check attempts</label>
<input ng-model="vm.service.max_check_attempts" required name="max_check_attempts">
</md-input-container>
</div>
<div layout layout-sm="column">
<md-input-container flex>
<select class="ng-pristine ng-valid md-input ng-empty ng-touched" ng-model="vm.service.active_checks_enabled"
name="active_checks_enabled" required name="active_checks_enabled">
<option value="">Select active checks enabled</option>
<option value="1">On</option>
<option value="0">Off</option>
<option value="2">Skip</option>
<option value="3">Null</option>
</select>
</md-input-container>
<md-input-container flex>
<select class="ng-pristine ng-valid md-input ng-empty ng-touched" ng-model="vm.service.passive_checks_enabled"
name="passive_checks_enabled" required>
<option value="">Select passive checks enabled</option>
<option value="1">On</option>
<option value="0">Off</option>
<option value="2">Skip</option>
<option value="3">Null</option>
</select>
</md-input-container>
<md-input-container flex>
<md-checkbox name="chkRegister" ng-model="vm.service.register">Registered</md-checkbox>
</md-input-container>
</div>
<div layout layout-sm="column">
<md-input-container flex>
<input ng-model="vm.service.chIntervalInMinutes" placeholder="Check interval in minutes" required>
</md-input-container>
<md-input-container flex>
<input ng-model="vm.service.retryIntervalInMinutes" placeholder="Retry interval in minutes" required>
</md-input-container>
<md-input-container flex>
<select class="ng-pristine ng-valid md-input ng-empty ng-touched" ng-model="vm.service.contact_groups"
name="contact_groups" required>
<option value="">Select contact groups</option>
<option value="admins">admins</option>
</select>
</md-input-container>
</div>
<div layout layout-sm="column">
<md-input-container flex>
<select class="ng-pristine ng-valid md-input ng-empty ng-touched" ng-model="vm.service.check_period"
name="check_period" style="width:33%;" required>
<option value="">Select check period</option>
<option value="24x7">24x7</option>
</select>
</md-input-container>
</div>
<button class="md-button md-ink-ripple" ng-class="hostForm.$valid ? 'active' : 'disable'" style="background-color:#7ec9c2; height: 12px; margin-top: 3%;">Add Host Service</button>
</md-content>
</form>
</md-content>
My AddNewHostController controller code is given below
(function(){
angular
.module('app')
.controller('AddNewHostController', [
AddNewHostController
]);
function AddNewHostController() {
var vm = this
vm.AddNewHost = AddNewHost;
function AddNewHost() {
console.log(vm.service);
if (vm.service == undefined) {
return false;
} else {
console.log(vm.service);
}
}
}
})();
My problem is that
When I click on my Submit Button(Add Host Service) it will execute the controller without checking the validation.
In short my validation is not working.
I have also other issue is that When I click on Submit Button it does not validate my all Dropdownlist.