Muchas veces me encuentro con el escenario en el que en una lista se precargan unos valores y luego a través del formulario de edición queremos que otra persona complete otros datos.
En esta situación puede ser que nos interese que algún campo sea obligatorio.
Sí en una lista de SharePoint marcamos un campo como obligatorio, nos obligará a cargarle un valor cuando lo creamos, en lugar de edición.
Para ello, podemos utilizar la función PreSaveItem:
function PreSaveItem()
{
var save = false;
var area = $( "[title*='Area'] option:selected" ).text();
var centro = $( "[title*='Centro'] option:selected" ).text();
if (area != '(Ninguno)' && centro != '(None)'){
save = true;
}else if(area == '(Ninguno)'){
alert('Seleccione un área');
}else if(centro == '(None)'){
alert('Seleccione un centro');
}
return save;
}
Al incluir el código superior, lo que hacemos es llamar a una función en la que en este caso en concreto, lo que hacemos es recoger el valor seleccionado en dos campos de tipo elección a los cuales le hemos aplicado SPServices para que se comporten como campos en cascada.
Y comparamos que no tomen el valor (Ninguno) para el campo area, ni (None) para el campo centro, si tienen valor en esos campos, devolveremos el valor true, que permitirá que se guarde, sino devolverá false, lo que hará que no se guarden los valores y gracias a los alert mostraremos un mensaje al usuario indicándole que campo se le ha olvidado completar.