<commit_before>
define( [ 'model/user', 'backbone', 'jquery', 'form-view', 'view/alert-validation', 'handlebars' ], function( User, Backbone, $, FormView, AlertValidation ) {

	// TODO 입력 폼을 위한 View를 따로 만들어야 할까?
	// TODO Class를 넘기는 경우(AlertValidation, User)와 인스턴스를 넘기는 경우(new AlertValidation())의 명칭을 구분해야 할 듯
	return Backbone.View.extend( {

		el: $( 'section#add-section' ),

		template: Handlebars.compile( $( '#add-template' ).html() ),

		initialize: function() {
			this.model = new User( { name: '홍길동', email: '<EMAIL>' } );
		},

		render: function() {
			this.$el.html( this.template() );
			this.formView = new FormView( { el: this.$( '#add-form' ), model: this.model } );
			this.formView.setValidation( AlertValidation );
			return this;
		},

		events: {
			'submit #add-form': 'addUser'
		},

		addUser: function() {
		
			var user = this.formView.toModel();

			if ( user.isValid() ) {
				this.collection.add( user );
				user.save();

				// 추가하고 나서는 목록으로 이동
				location.href = '#list';
			}

			return false;
		}
	} );
} );
<commit_msg>FormView에서 ValidationView를 지정하는 방법 변경에 따른 예제 수정<commit_after>
define( [ 'model/user', 'backbone', 'jquery', 'form-view', 'view/alert-validation', 'handlebars' ], function( User, Backbone, $, FormView, AlertValidationView ) {

	// TODO 입력 폼을 위한 View를 따로 만들어야 할까?
	// TODO Class를 넘기는 경우(AlertValidation, User)와 인스턴스를 넘기는 경우(new AlertValidation())의 명칭을 구분해야 할 듯
	return Backbone.View.extend( {

		el: $( 'section#add-section' ),

		template: Handlebars.compile( $( '#add-template' ).html() ),

		initialize: function() {
			this.model = new User( { name: '홍길동', email: '<EMAIL>' } );
		},

		render: function() {
			this.$el.html( this.template() );
			this.formView = new FormView( { el: this.$( '#add-form' ), model: this.model } );
			return this;
		},

		events: {
			'submit #add-form': 'addUser'
		},

		addUser: function() {
		
			var user = this.formView.toModel();

			if ( user.isValid() ) {
				this.collection.add( user );
				user.save();

				// 추가하고 나서는 목록으로 이동
				location.href = '#list';
			}

			return false;
		}
	} );
} );

{'fraction_non_alphanumeric': 0.17766258246936853, 'fraction_numerical': 0.0, 'mean_word_length': 3.2630522088353415, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3680095', 'n_tokens_mistral': 1071, 'n_tokens_neox': 906, 'n_words': 183}