I'm using Angular Material and md-select
and I would like to make a blank option such that when you select it, you have no value in the select. In the case that I make it required, then I would like this option returning false at the check.
Here's a demo: https://plnkr.co/edit/FZ8xt5ZCRJY3fFMh3fFU?p=preview
<html>
<head>
<meta charset="utf-8" />
<title>AngularJS Plunker</title>
<script>document.write('<base href="' + document.location + '" />');</ript>
<link rel="stylesheet" href="style.css" />
<script data-require="angular.js@1.2.x" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.min.js" data-semver="1.2.19"></script>
<script src="app.js"></script>
</head>
<body ng-controller="MainCtrl">
<form>
<select ng-model="selectedValue2" required >
<option ng-repeat="option in options['id'] | orderBy: 'id'" ng-value="option.value">{{option.name}}</option>
</select>
<button type="submit">Submit</button>
</form>
</body>
</html>
My situation is more complex, so I don't want a workaround, I just would like a way to make the required working when I select the blank option.
Try adding the following code segment:
QUESTION CHANGED AFTER ASKING. Not originally about
md-select
so there may be a better way to do this. All you need to do is add this option to yourmd-select
:And remove the
blank
entry from your object.HTML
JavaScript
This would be enough if you were using a regular
select
, butmd-select
considers the null value to satisfy therequired
attribute so you need extra work.In your select, add a function
checkNull
to runonchange
:Then add it to your scope:
Working Fiddle