Advertisement
Guest User

Untitled

a guest
Dec 28th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.64 KB | None | 0 0
  1. import React, { Component } from 'react';
  2. import { FormGroup, FormControl, ControlLabel, Button } from 'react-bootstrap';
  3. import { Link } from 'react-router';
  4. import Layout from './layout';
  5. import Constants from '../utils/constants';
  6. import Ajax from '../utils/ajax';
  7.  
  8. class Registration extends Component {
  9. constructor() {
  10. super();
  11. this.getNameValidationState = this.getNameValidationState.bind(this);
  12. this.handleNameChange = this.handleNameChange.bind(this);
  13. this.handleSurnameChange = this.handleSurnameChange.bind(this);
  14. this.handleUsernameChange = this.handleUsernameChange.bind(this);
  15. this.handlePassChange = this.handlePassChange.bind(this);
  16. this.handlePassConfChange = this.handlePassConfChange.bind(this);
  17. this.register = this.register.bind(this);
  18. this.state = { name: '',
  19. surname: '',
  20. username: '',
  21. password: '',
  22. passconf: ''
  23. }
  24. }
  25.  
  26. register() {
  27. var userData = {
  28. name: this.state.name,
  29. surname: this.state.surname,
  30. username: this.state.username,
  31. password: this.state.password,
  32. role: '1',
  33. javaClass: Constants.USER_JAVA_CLASS
  34. };
  35.  
  36. Ajax.post('rest/users', userData).end();
  37. }
  38.  
  39. getNameValidationState() {
  40. const length = this.state.name.length;
  41. if (length < 4) return 'error';
  42. return 'success';
  43. }
  44. handleNameChange(e) {
  45. this.setState({ name: e.target.value });
  46. }
  47. handleSurnameChange(e) {
  48. this.setState({ surname: e.target.value });
  49. }
  50. handleUsernameChange(e) {
  51. this.setState({ username: e.target.value });
  52. }
  53. handlePassChange(e) {
  54. this.setState({ password: e.target.value });
  55. }
  56. handlePassConfChange(e) {
  57. this.setState({ passconf: e.target.value });
  58. }
  59. render() {
  60. return (
  61. <Layout>
  62. <form className="registration">
  63. <h2>Registration</h2>
  64. <ControlLabel className="formLabel">Name</ControlLabel>
  65. <FormGroup controlId="name" validationState={this.getNameValidationState} />
  66. <FormControl
  67. type="text"
  68. value={this.state.name}
  69. placeholder="Enter your name"
  70. onChange={this.handleNameChange}
  71. />
  72. <FormControl.Feedback />
  73. <ControlLabel className="formLabel">Surname</ControlLabel>
  74. <FormGroup controlId="surname" />
  75. <FormControl
  76. type="surname"
  77. value={this.state.surname}
  78. placeholder="Enter your surname"
  79. onChange={this.handleSurnameChange}
  80. />
  81. <FormControl.Feedback />
  82. <ControlLabel className="formLabel">Username</ControlLabel>
  83. <FormGroup controlId="username" />
  84. <FormControl
  85. type="username"
  86. value={this.state.username}
  87. placeholder="Enter your username"
  88. onChange={this.handleUsernameChange}
  89. />
  90. <FormControl.Feedback />
  91. <ControlLabel className="formLabel">Password</ControlLabel>
  92. <FormGroup controlId="password" />
  93. <FormControl
  94. type="password"
  95. value={this.state.password}
  96. placeholder="Enter your password"
  97. onChange={this.handlePassChange}
  98. />
  99. <ControlLabel className="formLabel">Password again</ControlLabel>
  100. <FormControl.Feedback />
  101. <FormGroup controlId="passconf" />
  102. <FormControl
  103. type="password"
  104. value={this.state.passconf}
  105. placeholder="Confirm your password"
  106. onChange={this.handlePassConfChange}
  107. />
  108. <FormControl.Feedback />
  109. <Link to="/home"><Button className="submitButton">Register</Button></Link>
  110. <Link to="/"><Button className="submitButton">Back</Button></Link>
  111. </form>
  112. </Layout>
  113. );
  114. }
  115. }
  116.  
  117. export default Registration;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement