How to Make a Field Mandatory in SharePoint 2010 Using ECMAScript


Introduction

In this article you will see how to make a field mandatory in SharePoint 2010 using ECMAScript. I have a list named "List Request" which has the following fields (Navigate to the list, click on List tab in the ribbon interface. Click on List Settings button).

ECMAShr1.gif

I am going to make the field named "Date" as mandatory field using ECMAScript.

Steps Involved

  1. Navigate to the SharePoint site (I have a site page created in my site where I am going to add the content editor web part).
  2. Go to Site Actions, click on Edit Page.

    ECMAShr2.gif
     
  3. Click on the Insert tab in the ribbon interface and then click on Web Part button.

    ECMAShr3.gif
     
  4. Select Media and Content in the Categories section and then click on Content Editor.

    ECMAShr4.gif
     
  5. Click on Add.
  6. The Content Editor web part will be added to the site page.
  7. Click on the down arrow and then click on Edit Web Part.

    ECMAShr5.gif
     
  8. Click on "Click here to add new content".

    ECMAShr6.gif
     
  9. Click on Format Text tab in the ribbon interface and then click on HTML drop down.

    ECMAShr8.gif
     
  10. Click on Edit HTML source.
  11. The HTML source window will pop up.

    ECMAShr7.gif
     
  12. Copy and paste the following script.

    <script language="ecmascript" type="text/ecmascript">

            var fieldCollection;
            var field;
            var list;

            function fieldRequired() {
                var clientContext = SP.ClientContext.get_current();
                if (clientContext != undefined && clientContext != null) {
                    var webSite = clientContext.get_web();
                    this.list = webSite.get_lists().getByTitle("List Request");
                    this.fieldCollection = list.get_fields();
                    this.field = fieldCollection.getByTitle("Date");
                    this
    .field.set_required(true);
                    this.field.update();
                    clientContext.load(this.field);
                    clientContext.executeQueryAsync(Function.createDelegate(this, this.OnLoadSuccess), Function.createDelegate(this, this.OnLoadFailed));
                }
            }

            function OnLoadSuccess(sender, args) {
                alert(this.field.get_required());
            }

            function OnLoadFailed(sender, args) {
                alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
            }</script>
        <input id="btnFieldRequired" onclick="fieldRequired()" type="button" value="Set Required Field"
    />


     

  13. Click on Ok.
  14. In the ribbon interface click on Save & Close button.

    ECMAShr9.gif
     
  15. In the content editor web part you can find a button named "Set Required Field", click on that button.

    ECMAShr10.gif
     
  16. An alert will pop up which displays the Boolean value.

Reference

  1. SP.Field.required) Property - http://msdn.microsoft.com/en-us/library/ee551438.aspx
  2. SP.Field.update() Method - http://msdn.microsoft.com/en-us/library/ee659278.aspx

Summary

Thus in this article you have seen how to make the field mandatory in SharePoint 2010 using ECMAScript.