当前位置: 首页>>代码示例>>Golang>>正文


Golang ValidMap.HasErrors方法代码示例

本文整理汇总了Golang中hrkb/models.ValidMap.HasErrors方法的典型用法代码示例。如果您正苦于以下问题:Golang ValidMap.HasErrors方法的具体用法?Golang ValidMap.HasErrors怎么用?Golang ValidMap.HasErrors使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在hrkb/models.ValidMap的用法示例。


在下文中一共展示了ValidMap.HasErrors方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: Post

func (c *Comments) Post() {

	if !c.IsAjax() {
		return
	}

	var v M.ValidMap
	var cm M.Comment
	var err error

	cr := tplComment{Msg: T("internal")}

	c.Data["json"] = &cr

	id, err := strconv.Atoi(c.Ctx.Input.Param(":id"))
	if err == nil {
		err = c.ParseForm(&cm)
	}

	if err != nil {
		beego.Error(err)
		return
	}

	i := c.GetSession("uid")
	if i == nil {
		cr.Msg = T("auth_is_off")
		return
	}

	cm.User = i.(int) //comment author
	cm.Cand = id      //candidate Id

	cm.Comment = html.EscapeString(cm.Comment)

	v, err = DM.Insert(&cm, "User", "Cand", "Comment")

	if err != nil {
		beego.Error(err)
		return
	}

	if !v.HasErrors() { //if no has errors returns inserted data to client
		cr.Id = cm.Id
		cr.Msg = "Ok"
		cr.Comment = cm.Comment
		cr.SetAuthor(cm.User)
		cr.SetDate(cm.CreatedAt)
		return
	}

	M.ExpandFormErrors(&v, c.Data)

	if val, ok := c.Data["errComment"]; ok {
		cr.Msg = val.(string) //return error by field comment
	}
}
开发者ID:grr89,项目名称:hrkb,代码行数:57,代码来源:comment.go

示例2: Post

// save concrete candidate rating
func (c *Rat) Post() {

	if !c.IsAjax() {
		return
	}

	var err error
	var s string
	var v M.ValidMap
	var ok bool

	r := M.Rat{Active: true}

	err = c.ParseForm(&r)

	uid := c.GetSession("uid")
	if uid == nil {
		c.Data["json"] = RJson{T("auth_is_off"), ok}
		return
	}

	fr := M.Rat{}
	err = DM.Find(&fr, M.Sf{}, M.Where{And: M.W{"Cand": r.Cand, "User": uid.(int), "Crit": r.Crit}})
	if err != nil && err != sql.ErrNoRows {
		c.Data["json"] = RJson{T("internal"), ok}
		beego.Warn(err)
		return
	}

	if fr.Id > 0 {
		c.Data["json"] = RJson{T("rat_already"), ok}
		return
	}

	r.User = uid.(int)

	if err == sql.ErrNoRows {
		v, err = DM.Insert(&r)
	}

	if err != nil {
		s = T("save_error")
		beego.Error(err)
	}

	if !v.HasErrors() {
		s = T("rat_added")
		ok = true
	} else {
		s = T("validation_error")
	}

	c.Data["json"] = RJson{s, ok}
}
开发者ID:grr89,项目名称:hrkb,代码行数:55,代码来源:rat.go

示例3: Post

//add new user
func (c *User) Post() {

	var v M.ValidMap
	var err error
	var msg string

	c.Data["xsrfdata"] = template.HTML(c.XsrfFormHtml())
	c.TplNames = "user/form.tpl"

	d := M.User{}

	flash := beego.NewFlash()

	err = c.ParseForm(&d)

	if err != nil {
		beego.Error(err)
		flash.Notice(T("internal"))
		flash.Store(&c.Controller)
		c.Redirect(beego.UrlFor("User.Index"), 302)
		return
	}

	d.GToken = sql.NullString{c.Ctx.Request.Form["gtoken"][0], true}

	d.Active = true

	if d.Id == 0 {
		v, err = DM.Insert(&d)
		msg = T("user_created")
	} else {
		v, err = DM.Update(&d)
		msg = T("user_updated", map[string]interface{}{"Login": d.Login})
		c.Data["isEdit"] = true
	}

	if err != nil {
		beego.Error(err)
	}

	if !v.HasErrors() {
		flash.Notice(msg)
		flash.Store(&c.Controller)
		c.Redirect(beego.UrlFor("User.Index"), 302)
		return
	}

	M.ExpandFormErrors(&v, c.Data)
	c.Data["user"] = d
	c.Data["roles"] = c.rolesList()
}
开发者ID:grr89,项目名称:hrkb,代码行数:52,代码来源:user.go

示例4: Post

// save criteria
func (c *Crit) Post() {
	var v M.ValidMap
	var err error
	msg := T("crit_created")

	c.Data["xsrfdata"] = template.HTML(c.XsrfFormHtml())
	c.TplNames = "crit/form.tpl"

	flash := beego.NewFlash()
	crit := M.Crit{}

	err = c.ParseForm(&crit)

	if crit.Id != 0 {
		msg = T("crit_updated", map[string]interface{}{"Title": crit.Title})
		c.Data["isEdit"] = true
	}

	if err == nil {
		if crit.Id == 0 {
			v, err = DM.Insert(&crit, "Title", "Dep")
		} else {
			v, err = DM.Update(&crit, "Title", "Dep")
		}
	}

	if err != nil {
		beego.Error(err)
	}

	if !v.HasErrors() && err == nil {
		flash.Notice(msg)
		flash.Store(&c.Controller)
		c.Redirect(beego.UrlFor("Crit.Index"), 302)
		return
	}

	var deps []M.Dep
	err = DM.FindAll(&M.Dep{}, &deps, M.Sf{"Id", "Title"}, M.Where{})
	if err != nil {
		beego.Error(err)
	}

	c.Data["deps"] = deps
	c.Data["crit"] = crit
	M.ExpandFormErrors(&v, c.Data)

}
开发者ID:grr89,项目名称:hrkb,代码行数:49,代码来源:crit.go

示例5: Post

//save concrete or new department
func (c *Dep) Post() {

	var v M.ValidMap
	var err error
	var msg string

	c.Data["xsrfdata"] = template.HTML(c.XsrfFormHtml())
	c.TplNames = "dep/form.tpl"

	d := M.Dep{}
	flash := beego.NewFlash()
	err = c.ParseForm(&d)

	if err != nil {
		beego.Error(err)
		flash.Notice(T("internal"))
		flash.Store(&c.Controller)
		c.Redirect(beego.UrlFor("Dep.Index"), 302)
		return
	}

	if d.Id == 0 {
		v, err = DM.Insert(&d, "Title")
		msg = T("dep_created")
	} else {
		v, err = DM.Update(&d, "Title")
		msg = T("dep_updated", map[string]interface{}{"Title": d.Title})
		c.Data["isEdit"] = true
	}

	if err != nil {
		beego.Error(err)
	}

	if !v.HasErrors() {

		flash.Notice(msg)
		flash.Store(&c.Controller)

		c.Redirect(beego.UrlFor("Dep.Index"), 302)
		return
	}

	M.ExpandFormErrors(&v, c.Data)
	c.Data["dep"] = d

}
开发者ID:grr89,项目名称:hrkb,代码行数:48,代码来源:dep.go

示例6: Post

//save account settings
func (c *Prof) Post() {
	var v M.ValidMap
	var err error
	var msg string
	s := []string{"Name", "Email", "NotifyByMail", "NotifyByTelegram"}

	c.Data["xsrfdata"] = template.HTML(c.XsrfFormHtml())
	c.TplNames = "prof/get.tpl"

	d := M.Profile{}
	err = c.ParseForm(&d)
	d.Id = c.GetSession("uid").(int)

	if err == nil && d.Password != "" {
		s = append(s, "Password")
	}

	if err == nil {
		v, err = DM.Update(&d, s...)
	}

	if err == nil && !v.HasErrors() {
		c.SetSession("name", d.Name)
		msg = T("account_saved")
	}

	if err != nil {
		msg = T("internal")
		beego.Error(err)
	}

	if msg != "" {
		flash := beego.NewFlash()
		flash.Notice(msg)
		flash.Store(&c.Controller)
		c.Redirect(beego.UrlFor("Prof.Get"), 302)
		return
	}

	M.ExpandFormErrors(&v, c.Data)
	c.Data["Name"] = d.Name
}
开发者ID:grr89,项目名称:hrkb,代码行数:43,代码来源:profile.go

示例7: Post

//check auth form
func (c *Main) Post() {

	var v M.ValidMap

	c.Data["xsrfdata"] = template.HTML(c.XsrfFormHtml())
	c.TplNames = "loginform.tpl"

	loginform := LoginForm{}
	c.ParseForm(&loginform)
	v.Valid(loginform)

	c.Data["login"] = loginform.Login
	M.ExpandFormErrors(&v, c.Data)

	if v.HasErrors() {
		return
	}

	c.Data["errLogin"] = T("login_error")
	id, err := M.CheckPass(loginform.Login, loginform.Password)

	if err != nil {
		beego.Warn(err)
		return
	}

	u := M.User{}
	err = DM.FindByPk(&u, id)
	if err != nil {
		beego.Error(err)
		return
	}

	if len(u.GToken.String) > 0 {
		c.SetSession("gitlabToken", u.GToken.String)
	}
	c.SetSession("uid", id)
	c.SetSession("role", u.Role)
	c.SetSession("name", u.Name)
	c.Redirect(beego.UrlFor("Cand.Index"), 302)
}
开发者ID:grr89,项目名称:hrkb,代码行数:42,代码来源:main.go

示例8: Post

//save concrete or new candidate
func (c *Cand) Post() {
	upload_dir := beego.AppConfig.String("upload_dir")

	c.TplNames = "cand/add.tpl"
	flash := beego.NewFlash()

	var v M.ValidMap
	var err error
	d := M.Cand{}
	var deps []M.Dep

	if err := c.ParseForm(&d); err != nil {
		beego.Error(err)

		flash.Error(T("internal"))
		flash.Store(&c.Controller)
		return
	}

	d.Note = sql.NullString{c.Ctx.Request.Form["note"][0], true}
	d.Active = true

	c.Data["xsrfdata"] = template.HTML(c.XsrfFormHtml())
	c.Data["cand"] = d

	if err := DM.FindAll(&M.Dep{}, &deps, M.Sf{}, M.Where{}); err != nil {
		beego.Error("Department find error: ", err)

		flash.Error(T("internal"))
		flash.Store(&c.Controller)

		return
	}

	c.Data["deps"] = deps

	var header *multipart.FileHeader

	_, header, err = c.GetFile("img")

	if err := os.MkdirAll(upload_dir+"img/", os.ModePerm); err != nil {
		beego.Error(err)
	}

	if err := os.MkdirAll(beego.AppConfig.String("tmp_dir"), os.ModePerm); err != nil {
		beego.Error(err)
	}

	d.Img = sql.NullString{beego.AppConfig.String("static_dir") + "img/noavatar-" + strconv.Itoa(utils.RandInt(0, 4)) + ".jpg", true}

	if err == nil {

		if !strings.Contains(header.Header["Content-Type"][0], "image") {
			flash.Error(T("filetype_bad"))
			flash.Store(&c.Controller)
			return
		}

		var filename = beego.AppConfig.String("tmp_dir") + header.Filename
		c.SaveToFile("img", filename)

		furl, fsname := utils.Resize(filename, header, 350, 0)

		if furl == "" {
			flash.Error(T("resize_bad"))
			flash.Store(&c.Controller)
		}

		if err := os.Rename(furl, upload_dir+"img/"+fsname); err != nil {
			beego.Error(err)

			flash.Error(T("resize_bad"))
			flash.Store(&c.Controller)
			return
		}

		d.Img = sql.NullString{upload_dir + "img/" + fsname, true}
	}

	var is_new bool

	if d.Id == 0 {
		is_new = true
		v, err = DM.Insert(&d)
	} else {
		v, err = DM.Update(&d)
	}

	if err != nil {
		beego.Error("Model insert error: ", err)
		flash.Error(T("internal"))
		flash.Store(&c.Controller)
		return
	}

	if v.HasErrors() {
		M.ExpandFormErrors(&v, c.Data)
		return
	}
//.........这里部分代码省略.........
开发者ID:grr89,项目名称:hrkb,代码行数:101,代码来源:cand.go


注:本文中的hrkb/models.ValidMap.HasErrors方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。