Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
B
beego
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
go
beego
Commits
0e1a0049
Commit
0e1a0049
authored
Dec 19, 2014
by
astaxie
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #971 from athurg/get_request_params_with_default
Support default value for controller’s params get
parents
0c933643
d2c5daa5
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
111 additions
and
34 deletions
+111
-34
controller.go
controller.go
+111
-34
No files found.
controller.go
View file @
0e1a0049
...
...
@@ -363,67 +363,144 @@ func (c *Controller) ParseForm(obj interface{}) error {
return
ParseForm
(
c
.
Input
(),
obj
)
}
// GetString returns the input value by key string.
func
(
c
*
Controller
)
GetString
(
key
string
)
string
{
return
c
.
Ctx
.
Input
.
Query
(
key
)
// GetString returns the input value by key string or the default value while it's present and input is blank
func
(
c
*
Controller
)
GetString
(
key
string
,
def
...
string
)
string
{
var
defv
string
if
len
(
def
)
>
0
{
defv
=
def
[
0
]
}
if
v
:=
c
.
Ctx
.
Input
.
Query
(
key
);
v
!=
""
{
return
v
}
else
{
return
defv
}
}
// GetStrings returns the input string slice by key string
.
// GetStrings returns the input string slice by key string
or the default value while it's present and input is blank
// it's designed for multi-value input field such as checkbox(input[type=checkbox]), multi-selection.
func
(
c
*
Controller
)
GetStrings
(
key
string
)
[]
string
{
func
(
c
*
Controller
)
GetStrings
(
key
string
,
def
...
[]
string
)
[]
string
{
var
defv
[]
string
if
len
(
def
)
>
0
{
defv
=
def
[
0
]
}
f
:=
c
.
Input
()
if
f
==
nil
{
return
[]
string
{}
return
defv
}
vs
:=
f
[
key
]
if
len
(
vs
)
>
0
{
return
vs
}
else
{
return
defv
}
return
[]
string
{}
}
// GetInt returns input as an int
func
(
c
*
Controller
)
GetInt
(
key
string
)
(
int
,
error
)
{
return
strconv
.
Atoi
(
c
.
Ctx
.
Input
.
Query
(
key
))
// GetInt returns input as an int or the default value while it's present and input is blank
func
(
c
*
Controller
)
GetInt
(
key
string
,
def
...
int
)
(
int
,
error
)
{
var
defv
int
if
len
(
def
)
>
0
{
defv
=
def
[
0
]
}
if
strv
:=
c
.
Ctx
.
Input
.
Query
(
key
);
strv
!=
""
{
return
strconv
.
Atoi
(
strv
)
}
else
{
return
defv
,
nil
}
}
// GetInt8 return input as an int8
func
(
c
*
Controller
)
GetInt8
(
key
string
)
(
int8
,
error
)
{
i64
,
err
:=
strconv
.
ParseInt
(
c
.
Ctx
.
Input
.
Query
(
key
),
10
,
8
)
i8
:=
int8
(
i64
)
// GetInt8 return input as an int8 or the default value while it's present and input is blank
func
(
c
*
Controller
)
GetInt8
(
key
string
,
def
...
int8
)
(
int8
,
error
)
{
var
defv
int8
if
len
(
def
)
>
0
{
defv
=
def
[
0
]
}
return
i8
,
err
if
strv
:=
c
.
Ctx
.
Input
.
Query
(
key
);
strv
!=
""
{
i64
,
err
:=
strconv
.
ParseInt
(
strv
,
10
,
8
)
i8
:=
int8
(
i64
)
return
i8
,
err
}
else
{
return
defv
,
nil
}
}
// GetInt16 returns input as an int16
func
(
c
*
Controller
)
GetInt16
(
key
string
)
(
int16
,
error
)
{
i64
,
err
:=
strconv
.
ParseInt
(
c
.
Ctx
.
Input
.
Query
(
key
),
10
,
16
)
i16
:=
int16
(
i64
)
// GetInt16 returns input as an int16 or the default value while it's present and input is blank
func
(
c
*
Controller
)
GetInt16
(
key
string
,
def
...
int16
)
(
int16
,
error
)
{
var
defv
int16
if
len
(
def
)
>
0
{
defv
=
def
[
0
]
}
if
strv
:=
c
.
Ctx
.
Input
.
Query
(
key
);
strv
!=
""
{
i64
,
err
:=
strconv
.
ParseInt
(
strv
,
10
,
16
)
i16
:=
int16
(
i64
)
return
i16
,
err
return
i16
,
err
}
else
{
return
defv
,
nil
}
}
// GetInt32 returns input as an int32
func
(
c
*
Controller
)
GetInt32
(
key
string
)
(
int32
,
error
)
{
i64
,
err
:=
strconv
.
ParseInt
(
c
.
Ctx
.
Input
.
Query
(
key
),
10
,
32
)
i32
:=
int32
(
i64
)
// GetInt32 returns input as an int32 or the default value while it's present and input is blank
func
(
c
*
Controller
)
GetInt32
(
key
string
,
def
...
int32
)
(
int32
,
error
)
{
var
defv
int32
if
len
(
def
)
>
0
{
defv
=
def
[
0
]
}
return
i32
,
err
if
strv
:=
c
.
Ctx
.
Input
.
Query
(
key
);
strv
!=
""
{
i64
,
err
:=
strconv
.
ParseInt
(
c
.
Ctx
.
Input
.
Query
(
key
),
10
,
32
)
i32
:=
int32
(
i64
)
return
i32
,
err
}
else
{
return
defv
,
nil
}
}
// GetInt64 returns input value as int64.
func
(
c
*
Controller
)
GetInt64
(
key
string
)
(
int64
,
error
)
{
return
strconv
.
ParseInt
(
c
.
Ctx
.
Input
.
Query
(
key
),
10
,
64
)
// GetInt64 returns input value as int64 or the default value while it's present and input is blank.
func
(
c
*
Controller
)
GetInt64
(
key
string
,
def
...
int64
)
(
int64
,
error
)
{
var
defv
int64
if
len
(
def
)
>
0
{
defv
=
def
[
0
]
}
if
strv
:=
c
.
Ctx
.
Input
.
Query
(
key
);
strv
!=
""
{
return
strconv
.
ParseInt
(
strv
,
10
,
64
)
}
else
{
return
defv
,
nil
}
}
// GetBool returns input value as bool.
func
(
c
*
Controller
)
GetBool
(
key
string
)
(
bool
,
error
)
{
return
strconv
.
ParseBool
(
c
.
Ctx
.
Input
.
Query
(
key
))
// GetBool returns input value as bool or the default value while it's present and input is blank.
func
(
c
*
Controller
)
GetBool
(
key
string
,
def
...
bool
)
(
bool
,
error
)
{
var
defv
bool
if
len
(
def
)
>
0
{
defv
=
def
[
0
]
}
if
strv
:=
c
.
Ctx
.
Input
.
Query
(
key
);
strv
!=
""
{
return
strconv
.
ParseBool
(
strv
)
}
else
{
return
defv
,
nil
}
}
// GetFloat returns input value as float64.
func
(
c
*
Controller
)
GetFloat
(
key
string
)
(
float64
,
error
)
{
return
strconv
.
ParseFloat
(
c
.
Ctx
.
Input
.
Query
(
key
),
64
)
// GetFloat returns input value as float64 or the default value while it's present and input is blank.
func
(
c
*
Controller
)
GetFloat
(
key
string
,
def
...
float64
)
(
float64
,
error
)
{
var
defv
float64
if
len
(
def
)
>
0
{
defv
=
def
[
0
]
}
if
strv
:=
c
.
Ctx
.
Input
.
Query
(
key
);
strv
!=
""
{
return
strconv
.
ParseFloat
(
c
.
Ctx
.
Input
.
Query
(
key
),
64
)
}
else
{
return
defv
,
nil
}
}
// GetFile returns the file data in file upload field named as key.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment