IONIC 表单(FORM)验证

1、创建IONIC 项目 不懂可以点这里 创建项目


2、我们以修改密码为列

<ion-view title="修改密码">
<ion-nav-bar>
<ion-header-bar class="nav-title-slide-ios7 bar-light" align-title="center">
        <ion-nav-buttons side="left">
            <a class="button button-icon icon ion-ios-undo-outline" style="font-size: 30px;" ng-click="backBtn();"></a>
        </ion-nav-buttons>
    </ion-header-bar>
</ion-nav-bar>
  <ion-content>
    <form name="dataForm" novalidate="novalidate" ng-submit="save(dataForm);">
      <div class="list">
        <label class="item item-input item-floating-label">
          <span class="input-label">原密码</span>
          <input type="password" ng-model="data.password" required placeholder="请输入原密码">
        </label>
        <label class="item item-input item-floating-label">
          <span class="input-label">新密码</span>
          <input type="password" ng-model="data.newPassword" required placeholder="密码为英文和数字组成">
        </label>
        <label class="item item-input item-floating-label">
          <span class="input-label">确认密码</span>
          <input type="password" ng-model="data.confirmPassword" required placeholder="请确认登录密码">
        </label>
        <label class="item">
          <button class="button button-block button-positive" type="submit" ng-disabled="dataForm.$invalid">确认修改</button>
        </label>
      </div>
    </form>
  </ion-content>
</ion-view>

我们只需 在外面 嵌套一个 form 如果 controller 需要 额外验证或者其他 你可以给他 命个名 name,如果不需不起也行

Controller

//========================修改密码===========================
.controller('UpdatePwdCtrl', function($scope, $state, $ionicHistory, LoginService, popupUtil) {
	$scope.data = {};
	$scope.backBtn = function(){
		$ionicHistory.goBack();
	};	
	$scope.save = function(dataForm){
		if(dataForm.$valid){//成功为 true 否则为 false
			$scope.changPassword();
		}
	}
	
	$scope.changPassword = function (){
			
			if($scope.data.confirmPassword == $scope.data.newPassword){
				delete $scope.data.confirmPassword;
				LoginService.changepassword($scope.data)
				.$promise.then(function(resp){
					if(resp.success){//修改成功
						popupUtil.showAlert('提示','密码修改成功');
						
						$state.go('login');//跳转登录页面
						
					}else{
						popupUtil.showAlert('提示','密码修改失败');
					}
				}, function(err){
					
				});
			}else{
				popupUtil.showAlert('提示','两次密码输入不正确');
			}
	};
	
})
Service 定义 popupUtil

//============消息弹框============
.provider('popupUtil', function(){
	this.$get = function($ionicPopup){
		var popupUtil = {};
		popupUtil.showConfirm = function(titleTxt, contentTxt){
			var confirmPopup = $ionicPopup.confirm({
			       title: titleTxt,
			       template: contentTxt
			     });
			return confirmPopup;
		};
		popupUtil.showAlert = function(titleTxt, contentTxt) {
			var alert = $ionicPopup.alert({
		       title: titleTxt,
		       template: contentTxt
		     });
			return alert;
		};
		return popupUtil;
	}
})

Service 定义 后台请求

.factory('LoginService', function($resource){
	return $resource('', {}, {
		'login' : {//登录
			url : 'sec/login',
			method : 'POST',
			isArray : false
		},
		'logout' : {//退出
			url : 'sec/logout',
			method : 'GET',
			isArray : false
		},
		'changepassword' : {//修改密码
			url : 'sec/changepassword',
			method : 'POST',
			isArray : false
		}
	});
})
此次验证不能为空

如果有空值则界面应该是这样


如果 都不为空界面应该是这样




  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

戴子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值